2013-03-19 1 views
0

Puis-je accéder à la propriété par son nom (représenté par une chaîne) dans l'expression lambda dans Linq-to-Sql?Obtenir la propriété par son nom

Say, quelque chose comme

collection.Where(x => Get_Property(x, property_name)==property_value) 

En fait, mon problème est un code où Get_Property a été mis en œuvre avec la réflexion afin que Linq2Obj a été utilisé au lieu de Linq2Sql et tout le travail a été effectué par application au lieu du serveur SQL.

Répondre

0

Essayez DynamicLINQ. Il crée des expressions lambda à partir de chaînes, et ces expressions sont utilisées par l'ORM.

0

Non, vous ne pouvez pas le faire, car seul un ensemble de méthodes peut être converti en SQL. Vos méthodes personnalisées ou API de réflexion ne font pas partie de cet ensemble.

Vous pouvez utiliser Entity SQL pour composer votre requête sous forme de chaîne.