2009-12-09 6 views
8

Je recherche une telle liste pour LINQ to SQL. Idéalement, j'aimerais avoir une liste d'autres méthodes supportées (ou membres - par exemple des constructeurs), par ex. pour le type DateTime.LINQ to SQL: existe-t-il une liste complète des méthodes d'extension IQueryable prises en charge?

+1

Les personnes qui votent pour fermer comme une copie exacte de http://stackoverflow.com/questions/1875156/ sont ** incorrectes. ** Les règles pour L2S et L2E sont différentes, tout comme la documentation. –

Répondre

2

Yes, bien que moins complet que pour L2E. Voir aussi Data Types and Functions. Cela inclut DateTime et DateTimeOffset.

+0

J'ai accepté la réponse, car il semble que ce soit l'information la plus complète que l'on puisse trouver. Il n'y a pas de liste de méthodes IQueryable supportées \ non supportées - il y a juste (certains?) Des exemples de méthodes non supportées: http://msdn.microsoft.com/fr-fr/library/bb882656.aspx –

0

http://msdn.microsoft.com/en-us/library/bb337580.aspx. Toutes ces méthodes d'extension sont documentées en tant que membres de IQueryable. Rembmer que IQueryable implémente IEnumerable, donc tout ce que IEnumerable implémente est également disponible sur IQueryable, avec la mise en garde que certaines de ces méthodes ne fonctionnent pas! En particulier, tout ce qui utilise un comparateur personnalisé se compilera correctement, mais obtiendra une erreur d'exécution de LINQ à SQL. Cela est également vrai pour .Take() et .Skip() avec des valeurs non numériques.

+0

Je suis pleinement conscient de IQueryable et IEnumerable (je suis l'un des développeurs de l'outil ORM supportant LINQ). Votre réponse n'est pas utile, car seul un sous-ensemble de méthodes IQueryable est pris en charge par * tout * fournisseur LINQ. La question elle-même indique que je connais une liste complète de ces méthodes ... –

+0

Alors votre question n'est certainement pas claire. Pourquoi DateTime est-il géré différemment de tout autre type de valeur? Quels constructeurs (de n'importe quel type) seraient supportés par IQueryable, qui est une interface? Quelles sont les autres méthodes supportées par Iqueryable, autres que celles définies sur elle ou sur les interfaces dont elle hérite? –

+0

Oui, peut-être la question est vraiment peu claire, surtout si vous ne vous consacrez pas trop à la traduction de LINQ. Les constructeurs pris en charge et les membres d'autres types sont intéressants parce que le fournisseur IQueryable prend en charge un particulier ou non. "Supports" signifie qu'il est capable de traduire une expression avec ce membre à son équivalent SQL. De toute évidence, rien ne peut être traduit de cette manière, donc un ensemble de types BCL \ membres pris en charge par un fournisseur particulier est également intéressant. –

Questions connexes