Как я могу сделать Union all в Entity Framework LINQ To Entities?

Я столкнулся со сценарием, в котором мне пришлось использовать Union all, как я могу добиться этого в LINQ для объектов?


person Rami Sakr    schedule 22.03.2012    source источник


Ответы (2)


Вот ответ, который вы ищете . Используйте ключевое слово Concat.

Из примера:

var query = (from x in db.Table1 select new {A = x.A, B = x.B})
    .Concat( from y in db.Table2 select new {A = y.A, B = y.B} );
person Justin Pihony    schedule 22.03.2012
comment
Это замечательно. Я по ошибке использовал query1.Union(query2). Кажется логичным, не так ли? - person SteveB; 03.05.2019

Я считаю, что Concat это то, что вы ищете.

var allResults = resultSet1.Concat(resultSet2);

Очевидно, что оба набора результатов должны использовать один и тот же тип. И я полагаю, что у меня могут быть другие требования к тому, как в первую очередь создаются наборы результатов, но я не знаю всех деталей.

person StriplingWarrior    schedule 22.03.2012