2010-10-08 5 views
0

Je veux utiliser linq pour sélectionner certaines colonnes pour remplir chaque liste déroulante. droite j'ai une requête linq individuelle pour faire le travail. Je souhaite écrire une méthode pour le faire.comment utiliser le paramètre dans linq pour sélectionner des colonnes différentes

var getUserName = Entity.Select(a=>a.Username); 
var getType = Entity.Select(a=>a.Type); 
var getAddress = Entity.Select(a=>a.Address); 

que je peux faire quelque chose comme ça:

Public object GetData(string columnName) { 
var q = from a in Entity 
       Select columnName; 
return q.distinct(); 

    } 

combobox1.bindingsource = GetData("Username"); 
combobox2.bindingsource = GetData("Type"); 
combobox3.bindingsource = GetData("Address"); 

ai-je besoin d'écrire une construction?

Répondre

0

Dynamic LINQ sera utile dans cette situation. Il s'agit d'un tutorial.
Le code dont vous avez besoin ressemblera à ceci:

public object GetData (string colName) { 
     NorthwindDataContext db = new NorthwindDataContext(); 
     var q = db.Products.Select(colName); 
     List list = new List(); 
     foreach (var element in q) { 
     if (!list.Contains(element)) 
      list.Add(element); 
     } 
     return list;
Questions connexes