eswaran_guna Ответов: 1

Проблема в LINQ union


Привет Друзья,

У меня есть 3 стола.
Вся таблица имеет поле AddressID.
Я хочу взять то же самое поле, используя linq union query.
Я попробовал выполнить следующий запрос

Что я уже пробовал:

var a = from data in db.m_employee
                    join u in db.m_user on data.EmployeeID equals u.EmployeeID
                    where data.AddressID == AddressID && u.IsActive == true
                    select new { TableName = "User", StockLocationID = data.AddressID };

            var b = from x in db.m_productrawstock
                    where x.AddressID == AddressID && x.StockQuantity > 0
                    select new { TableName = "Transaction", StockLocationID = x.AddressID};

            var q = a.Union(b);


Он показывает ,что " производит заданное объединение двух последовательностей с помощью компаратора равенства по умолчанию."

Он выдает ошибку: System.ArgumentNullException.

Как я могу использовать одно и то же поле AddressID в linq union?

1 Ответов

Рейтинг:
0

Maciej Los

Вы не можете использовать Union сюда!
Вы должны обеспечить IEqualityComparer чтобы иметь возможность использовать Union.

Проверить это: Перечислимый.Метод Union (TSource) (IEnumerable (TSource), IEnumerable(TSource)) (Системы.В LINQ)[^]