2010-09-20 11 views

Répondre

3

Les listes ci-dessous la LINQ methods which are supported.

LINQ aux entités fournit également les Canonical Function Mapping suivantes pour les opérations de type CLR aux fonctions SQL. Ce sont les méthodes qui devraient être supportées, par défaut, par tous les fournisseurs. Par exemple, String.Contains doit toujours correspondre à une instruction LIKE dans SQL ou à une instruction IndexOf.

Toutefois, sachez que les différents fournisseurs sont libres de faire leur propre cartographie. J'ai vu certains fournisseurs EF qui ne supportent pas la liste complète des fonctions "canoniques", ou qui ajoutent les leurs. Étant donné que chaque fournisseur EF effectue lui-même le mappage, il est impossible de donner une réponse définitive, autre que la norme ci-dessus.

+0

C'est le même lien que celui que j'ai posté. –

+0

@Robert: pas le deuxième lien - le mappage de fonction montre les méthodes réelles qui sont portées (ie: String.Contains, etc). –

+0

Ah, je vois. Wow, c'est une page obscure; pas étonnant que je ne pouvais pas le trouver avant. De toute évidence, je ne suis pas encore prêt à rejoindre le sanctuaire d'EF 4.0. :) –

2

pris en charge et non pris en charge LINQ Méthodes (LINQ to Entities)
http://msdn.microsoft.com/en-us/library/bb738550.aspx

+2

Votre lien ne mentionne que les opérateurs de requête. Qu'en est-il des méthodes/propriétés comme 'String.Length',' String.Contains' et ainsi de suite? – Gabe

+0

Gabe +1, à la recherche de la même chose. – Overdose

+0

@Gabe: J'ai collé le lien à cela dans ma réponse. –

1

De par sa conception, LINQ to Entities nécessite toute expression de requête LINQ to être traduit en une requête serveur Seules quelques sous-expressions non corrélées (expressions dans la requête qui ne dépendent pas des résultats du serveur) sont évaluées sur le client avant que la requête ne soit traduite.Invocations de méthodes arbitraires sans La traduction en cours n'est PAS supportée. Pour être plus précis, LINQ to Entities ne supporte que les constructeurs sans paramètres et les initialiseurs. S'il vous plaît jeter un oeil à LINQ to Entities, what is not supported? pour plus d'informations.

Questions connexes