【发布时间】:2023-03-25 00:05:02
【问题描述】:
Dim itemList
itemList = From items In Context.Product
Select New With {Key .Code = items.ITEM_CODE_, Key .Name = items.ITEM_NAME, Key .Eancode = items.EANCODE}
Dim sortList = itemList.Where(Function(u) u.Name.Contains("soap"))
当我执行最后一行时,我得到一个错误:
"方法调用失败,因为 'Public Function Where(predicate As String, ParamArray 参数 As System.Data.Objects.ObjectParameter()) 作为 System.Data.Objects.ObjectQuery`1[[VB$AnonymousType_2(Of VB$AnonymousType_2(Of Integer,String,String))' 不能用 这些参数:" & vbCrLf & " 参数匹配参数 “谓词”无法从“VB$AnonymousDelegate_0(Of 对象,对象)'到'字符串'。”
实际上,我想将itemList 实体传递给另一个方法,并且在该方法中我想动态使用过滤器/排序选项。
如下图
Dim itemList
itemList = From items In Context.Product
Select New With {Key .Code = items.ITEM_CODE_, Key .Name = items.ITEM_NAME, Key .Eancode = items.EANCODE}
Call LoadData(itemList)
Sub LoadData(itemList as Object)
Dim sortList = itemList.Where(Function(u) u.Name.Contains("soap"))
End Sub
请分享您的建议如何解决?
【问题讨论】:
标签: vb.net entity-framework orm entity-framework-4 linq-to-entities