Я хочу сравнить два списка объектов на основе их свойств с помощью LINQ
. Я создал список объектов, а другой список хранится в базе данных. Классы являются следующие:Сравните два списка объектов в where, где предложение LINQ
class A
{
int a1;
int a2;
}
class B
{
int b1;
int b2;
}
Я сравниваю List<A> a
к List<B> b
с использованием условий (a1==b1 and a2==b2)
или (a1==b2 and a2==b1)
. если какое-либо условие вернется, оно возвращает треть List<C>
со свойствами class A
. Вот следующий LINQ Я использую:
(from a in context.A
where b.Any(m => (m.b1 == a.a1 && m.b2 == a.a2) || (m.b1 == a.a2 && m.b2 == a.a1))
select new C
{
c1 = a.a1,
c2 = a.a2,
}).ToList();
Но его бросали ошибки, как:
Локальная последовательность не может быть использована в LINQ для реализации SQL запроса операторов, за исключением Содержит оператор
, пожалуйста, помогите мне выяснить правильный запрос Linq.
Вы пробовали делать, как предложено? Использовать операцию Содержит? –
Я пробовал операцию «Содержит», но не смог выяснить, как я могу использовать ее для указанного условия. – Vivek