У меня есть два IQueryables A и B. Мне нужно выбрать все столбцы из A на основе идентификатора, доступного в A и B, а также другие условия применимы к списку B. Здесь мне не нужно делать выбор из B. Мне нужно только выбрать из A, но на основе условий, которые применяются к B. Я попробовал нижний запрос linq, но по производительности он занимает, по крайней мере, 18 секунд, чтобы загрузить слишком длинные данные. Я пытаюсь реорганизовать запрос linq, но не выполняет фильтр. Ниже я предоставил свой код, который работал, но слишком долго загружается.Сравнение двух Iqueryables на основе условия
IQueryable<A_LIST> query = ctx.getA();
IQueryable<B_List> parts = ctx.getB();
query = (from q in query
join s in parts
on q.LIST_NO equals s.LIST_NO
where s.TAG == "PART00213" && s.STATUS == "NEW"
select q).Distinct();
запросов, которые не работают
query = query.Where(m => parts.Any(x => x.TAG == "PART00213" &&
&& STATUS == "NEW"));
Вы просто забыли добавить условие объединения в 'Any':' && x.LIST_NO == м. LIST_NO' –
Не могли бы вы предоставить мне, где добавить это. Я попробовал это, выдает ошибку –
'query = query.Where (m => parts.Any (x => x.TAG ==" PART00213 "&& x.STATUS ==" NEW "&& x.LIST_NO == m.LIST_NO)); ' –