如何在linq中将字符串变量作为列名传递 [英] How to pass string variable as column name in linq

查看:48
本文介绍了如何在linq中将字符串变量作为列名传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想在linq中传递一个字符串变量作为列名。这怎么可能?我使用以下代码,但它不起作用。

  string  colName =   Ditrict; 
var districtlist = db.table1.Select(colName).Distinct()。ToList();





我将感谢您的帮助。

解决方案

您可以尝试如下:



  var  districtlist = db.table1.Select(d => new {Ditrict = d.Ditrict }。。Distinct()。ToList(); 





更新



  string  colName =   Ditrict; 
var districtlist = db.table1.Select(d => new {d.colName})。Distinct()。ToList();







如需了解更多信息,请查看此基于方法的查询语法文章:



http://msdn.microsoft.com/en-us/library/bb896310.aspx [ ^ ]



更新2



您可以尝试使用Dynamic LINQ:

如需了解更多信息,请查看:



http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part- 1-using-the-linq-dynamic-query-library.aspx [ ^ ]





我希望这会对你有所帮助。


Hi,
I want to pass a string variable as column name in linq. how is it possible? i am using the following code but its not working.

string colName="Ditrict";
var districtlist = db.table1.Select(colName).Distinct().ToList();



I shall be thankful for your help.

解决方案

You can try like below :

var districtlist = db.table1.Select(d=>new {Ditrict=d.Ditrict}).Distinct().ToList();



UPDATE

string colName="Ditrict";
var districtlist = db.table1.Select(d=>new {d.colName}).Distinct().ToList();




For more info check this Method based Query syntax Article:

http://msdn.microsoft.com/en-us/library/bb896310.aspx[^]

UPDATE 2

You may try with Dynamic LINQ :
For more info check this :

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx[^]


I hope this will help to you.


这篇关于如何在linq中将字符串变量作为列名传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆