linq select语句中的动态变量

时间:2009-11-23 01:42:54

标签: vb.net linq linq-to-sql listbox

我有一个由某些值动态填充的列表框,具体取决于从另一个列表框中选择的表。一旦选择了一个值,就会将其与日期&时间范围。由于我对linq的无知:取决于选择了什么值,我需要创建的linq to sql语句来从我的数据库中获取数据是不同的,因为我不能在匿名类型上使用索引。

result = From t In db.APS _
         Where t.DateTime >= startDate And _
         t.DateTime <= finishDate And t.Weight = weight _
         Select t.DateTime, t.TotalConcentration

如果我的列表框值是“总浓度”,则应选择总体积,但如果是其他内容,例如“温度”或“流量”(连接到适当的数据库列) - 此方法显然不会工作。我需要能够从匿名类型列表中动态选择特定列,或者使用我不知道的其他方法来执行此操作。我正在使用VB,但是如果你有一个C#的解决方案,也会受到赞赏。

1 个答案:

答案 0 :(得分:0)

查看 Dynamic Linq 。 Dynamic Linq允许您将Linq语句中的字段和表名称指定为字符串,因此您应该能够从列表框中传递一个字符串,以指定要Select的字段。

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