C#, Linq Nom de la Colonne en tant que variable
J'ai une table où je veux faire une requête sur la variable de colonnes.
Comme:
private void query(string column, string value) {
using (var db = new myDB()) {
var s1 = (from c in db.Components
where (**column** == **value**)
select new {c.id, **column**});
}
}
permet de dire que je veux recherchez un fournisseur de ce serait comme:
var s1 = (from c in db.Components
where (c.supplier == "abc")
select new {c.id, c.supplier});
est-il un moyen de passer le nom de la colonne en tant que variable?
- merci de voir ce DONC, la question
- et s'il vous plaît faire une bonne recherche avant de poster une nouvelle question ici, parce qu'il fait mal votre repo
- Vous pouvez également utiliser les Requête Dynamique de la bibliothèque
Vous devez vous connecter pour publier un commentaire.
Cet exemple peut être utile je pense.
Une belle façon est d'utiliser des Dynamique Linq
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
Quelque chose comme:
Réponse courte est d'ajouter le Système de la bibliothèque.Linq.Dynamique de la référence et n':
Suivant est un exemple de la Dynamique de Linq, où la colonne est un nom de paramètre:
Vous pouvez expérimenter avec ce .net-violon-ici