2010-01-05 3 views
3

Je viens d'essayer d'utiliser Contains dans une requête Entity Framework pour qu'elle échoue car cette méthode n'existe pas dans EF. Cependant le code compile ce qui est frustrant.Recherche des méthodes prises en charge par un fournisseur LINQ

Est-ce que quelqu'un sait comment trouver les méthodes qu'un fournisseur LINQ prend en charge, étant donné un fournisseur LINQ?

Répondre

2

Il n'y a pas vraiment d'API (à ma connaissance) qui vous le dira malheureusement. Si vous cherchez un équivalent dans EF, this question pourrait vous aider.

Les exemples de cette question peuvent également aider à expliquer pourquoi il n'est pas si facile de déterminer quelles expressions peuvent être utilisées avec quels fournisseurs - une grande partie de la logique réside réellement dans la méthode d'extension et non dans le fournisseur. N'importe qui peut écrire une méthode d'extension sur IQueryable<T> - il serait impossible pour un fournisseur de savoir si une méthode d'extension qui n'a pas encore été écrite fonctionnera. Et Contains est juste une autre méthode d'extension.

Questions connexes