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"))
当我执行的最后一行时我正在一个错误:如何在Entity Framework中声明选择实体数据类型?
"Method invocation failed because 'Public Function Where(predicate As String, ParamArray parameters As System.Data.Objects.ObjectParameter()) As System.Data.Objects.ObjectQuery`1[[VB$AnonymousType_2(Of VB$AnonymousType_2(Of Integer,String,String))' cannot be called with these arguments:" & vbCrLf & " Argument matching parameter 'predicate' cannot convert from 'VB$AnonymousDelegate_0(Of Object,Object)' to 'String'."
其实我想的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
请分享我你的建议如何可以解决?
非常感谢@Marc。但我想过滤像下面的动态列[Dim sortList = itemList.Where(Function(u)u.Name.Contains(“soap”)) Dim sortList = itemList.Where(Function(u)u.Code.Contains (10))]这是可能的动态过滤器? –
你是什么意思的“动态过滤器”。你有一个例子吗?因为u.Name.Contains(“soap”)或u.Code.Contains(10)已经是可能的了。 – Marc
假设我将按名称进行过滤,如Dim sortList = itemList.Where(Function(u)u.Name.Contains “肥皂”))。后来用户想通过代码过滤数据,所以我怎么可以代替上述表达式代替名称。 –