Я пытаюсь получить все активы, в которых свойство класса равно одному из значений в selectedIClassesList;Помогите мне с запросом Linq, пожалуйста,
Что-то вроде этого:
from x in Assets where selectedIClassesList.Contains(x.Class) select x
Я пытаюсь получить все активы, в которых свойство класса равно одному из значений в selectedIClassesList;Помогите мне с запросом Linq, пожалуйста,
Что-то вроде этого:
from x in Assets where selectedIClassesList.Contains(x.Class) select x
Вы могли бы сделать присоединиться ...
var query = from a in Assets
join s in selectedClassesList on a.Class equals s
select a;
+1 Ударь меня! –
Assets.Where(x=>selectedIClassesList.Contains(x.Class));
Если я понимаю правильно, ваша проблема в том, что IClassesList не имеет содержит метод ? Если IClassesList является IEnumerable того же типа объектов, что и x.Class, это должно работать.
from x in Assets where selectedIClassesList.Any(s => s == x.Class) select x
Для лучшей производительности вам было бы полезно создать словарь.
var selectedClassesDict = selectedIClassesList.ToDictionary(s => s);
var selectedAssets = from a in Assets
where selectedClassesDict.ContainsKey(a.Class)
select a;
Невозможно создать постоянное значение типа 'Closure type'. В этом контексте поддерживаются только примитивные типы (такие как Int32, String и Guid). – Agzam
Похоже, вам нужно дать нам немного больше контекста в вашем вопросе. Используете ли вы LINQ для объектов, LINQ to SQL, LINQ to Entities и т. Д.? Как выглядит ваш класс Assets? Как выглядит тип Assets.Class? Как выглядит интерфейс IClassesList? – StriplingWarrior