如何在linq中使用参数来选择不同的列

时间:2010-10-08 04:14:24

标签: c# linq

我想使用linq选择某些列来填充每个组合框。  对,我有个人的linq查询来完成这项工作。我想写一个方法来做到这一点。

var getUserName = Entity.Select(a=>a.Username);
var getType  = Entity.Select(a=>a.Type);
var getAddress  = Entity.Select(a=>a.Address);
我可以这样做:

   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");

我需要编写构造吗?

1 个答案:

答案 0 :(得分:0)

动态LINQ在这种情况下会有所帮助 这是一个tutorial 您需要的代码如下所示:

    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;