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 (Функция (u) u.Code.Contains (10))] Возможно ли это с помощью динамического фильтра? –
Что вы подразумеваете под «динамическим фильтром». У вас есть пример? Потому что u.Name.Contains («soap») или u.Code.Contains (10) уже возможно .. – Marc
Предположим, что я буду фильтровать по имени, как Dim sortList = itemList.Where (Function (u) u.Name.Contains ("мыло")). Позже пользователь хочет отфильтровать данные по коду, так как я могу заменить код в этом выражении вместо имени. –