在VB.Net中具有选项严格错误的LINQ

时间:2012-05-26 03:52:42

标签: vb.net linq

我正面临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变量。

我真的不知道如何解决它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您的LINQ表达式使用匿名类型,这些类型仅在一种方法中可用。

定义一个类来保存两个值id_process,dth_hb并更改您的选择以创建该类的实例。然后,您可以将该函数声明为返回新类的列表

示例here