Ответ предполагает, что SampleEntityFrameworkProvider является эталонной реализацией.
Каждая команда sql, выполняемая для реализации поставщика, обрабатывается SampleEntityFrameworkProvider.SampleProviderServices.CreateDbCommandDefinition.
Этот метод вызывает CreateCommand, который, в свою очередь, передает DbCommandTree в SampleEntityFrameworkProvider.SqlGenerator, который имеет тип DbExpressionVisitor.
SqlGenerator инициализирует статические словари для обработки перевода.
Я нашел то, что искал в SqlGenerator.InitializeCanonicalFunctionHandlers, и просто следовал шаблону, как показано.
Просто добавьте новый метод-обработчик в словарь, в котором указано имя функции EDM, которую вы хотите обработать.
В этом случае обработчику просто нужно было переименовать функцию, прежде чем она была записана.
Снова существует реализация этой функции по умолчанию, HandleFunctionDefaultGivenName (DbFunctionExpression e, строка storeFunctionName).