VB.Net中带选项严格错误的LINQ

VB.Net中带选项严格错误的LINQ,vb.net,linq,Vb.net,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 当我检查

我和林克面临一个诡计问题。我生成上述代码:

…'返回一个对象

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数据类型是否为Linq.DataQuery时

我使用上面的代码访问数据:

For Each row In lResult
  Console.WriteLine(row.dth_hb)
如果我关闭OptionExplicit,一切都会正常运行。当我打开它时,编译器向我显示一个meessage:表达式的类型为“Object”,而不是集合类型。引用lResult变量

我真的不知道怎么解决它


谢谢您的帮助。

您的LINQ表达式使用匿名类型,只有一种方法可用

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

示例

如果你看看这个,我认为它将有助于另一个示例