2010-09-20 4 views

ответ

3

Следующие списки LINQ methods which are supported.

LINQ To Entities также предоставляет следующие Canonical Function Mapping для операций типа CLR для SQL-функций. Это методы, которые должны поддерживаться по умолчанию всеми поставщиками. Например, String.Contains всегда должен отображать оператор LIKE в SQL или оператор IndexOf.

Однако имейте в виду, что разные провайдеры могут свободно выполнять собственное сопоставление. Я видел некоторых поставщиков EF, которые не поддерживают полный «канонический» список функций или добавляют свои собственные. Поскольку каждый поставщик EF сам выполняет сопоставление, невозможно дать окончательный ответ, отличный от стандартного, указанного выше.

+0

Это та же самая ссылка, что и я. –

+0

@Robert: не вторая ссылка - отображение функций показывает фактические методы, которые переносятся (например, String.Contains и т. Д.). –

+0

А, я вижу. Вау, это неясная страница; неудивительно, что я не мог найти его раньше. Очевидно, я еще не готов присоединиться к внутреннему святилищу EF 4.0. :) –

2

Поддерживаемые и неподдерживаемые LINQ методы (LINQ к Entities)
http://msdn.microsoft.com/en-us/library/bb738550.aspx

+2

В вашей ссылке упоминаются только операторы запроса. Что относительно методов/свойств, таких как 'String.Length',' String.Contains' и т. Д.? – Gabe

+0

Gabe +1, ищем то же самое. – Overdose

+0

@Gabe: Я вложил ссылку на это в свой ответ. –

1

Конструктивно LINQ to Entities требует всего выражения запроса LINQ к быть переведены на серверный запрос. Только несколько некоррелированных подвыражений (выражения в запросе, которые не зависят от результатов от сервера) оцениваются на клиенте до того, как запрос будет переведен. Произвольные вызовы метода, которые не имеют ak Перевод не поддерживается. Чтобы быть более конкретным, LINQ to Entities поддерживает только конструкторы Parameterless и инициализаторы. Пожалуйста, посмотрите на LINQ to Entities, what is not supported? для получения дополнительной информации.