我正面临LINQ的技巧问题。我生成了上面的代码:
...'返回一个对象
Dim lReturn = (From tb_hb In lObjLNQContext.tb_hbs _
Where tb_hb.id_process = codigoProcessamento _
Order By tb_hb.dth_hb Ascending _
Select tb_hb.id_process, tb_hb.dth_hb).AsEnumerable
Return lReturn
当我检查lReturn DataType是Linq.DataQuery。
我使用上面的代码来访问数据:
For Each row In lResult
Console.WriteLine(row.dth_hb)
如果我关闭Option Explicit,一切运行良好。当我打开它时,编译器向我显示一个meessage:Expression的类型为'Object',它不是一个集合类型。引用lResult变量。
我真的不知道如何解决它。
感谢您的帮助。
答案 0 :(得分:2)
您的LINQ表达式使用匿名类型,这些类型仅在一种方法中可用。
定义一个类来保存两个值id_process,dth_hb并更改您的选择以创建该类的实例。然后,您可以将该函数声明为返回新类的列表
示例here