LINQ:查询返回空对象的列表



我有一个查询,它"选择"了一个类型的对象:

Dim l as IList(Of Foo) = (From dataRow As DataRow In table.Select()
                          Where CStr(dataRow("Column1")) = "A"
                          Select New Foo(CStr(dataRow("Column1")), _
                                         CStr(dataRow("Column2")))).ToList()

发生的事情是,如果我为 Foo 和 step 的构造函数设置断点,则会命中构造函数,并且参数将加载参数。但是,l具有空的Foo对象(每个对象中的成员都是Nothing )。这里可能发生了什么?

将查询更改为:

Dim l as IList(Of Foo) = (From dataRow As DataRow In table..AsEnumerable()
                          Where datarow.Field(of String)("Column1") = "A" 
                          Select New Foo(datarow.Field(of String)("Column1"), _
                                         datarow.Field(of String)("Column1"))).ToList()

欲了解更多信息,您可以访问 这里 和 这里

最新更新