我正在使用动态 LINQ 库代码示例来动态返回一些数据。我返回的列数是可变的,具体取决于用户输入。我将 IQueryable 枚举为 IList。
我需要做的是一次通过 Ilist 一个字段。我可以通过迭代 IList 的行一次得到一行,但我不能终生从集合中拉出一个字段。
例如,在这里我返回两列(硬编码用于测试,但在 prod 中,它将根据用户选择的字段而变化):
Dim Dynq = dc.dt _
.Where("RUN_ID = """ & runNumber & """ and Upper_Pressure > 95") _
.OrderBy("Upper_Pressure") _
.Select(" new (Run_ID,Process)")
Dim something = DirectCast(Activator.CreateInstance(GetType(List(Of )).MakeGenericType(Dynq.ElementType), Dynq), IList)
现在,如果我知道列名,我可以从 Ilist 中拉出一个字段,例如:
something.Run_ID.ToString
但我不会知道我正在使用的列,直到运行时并将其动态插入在运行时设置的变量中不起作用。
所以总而言之,我有一个看起来像这样的 Ilist
1 | Auto
2 | Auto
3 | Manual
4 | Manual
我想要一种返回 1 然后返回 Auto 然后返回 2 等的方法......
我将非常感谢那些比我更有学问的人的帮助。