var transactions = from t in context.Transactions
group t.Create_Date_Time by t.Participation_Id
into t1
select new { ParticipationId = t1.Key, CreateDateTime = t1.Max() };
var cases = from c in context.Cases
group c.Create_Date_Time by c.Participation_Id
into c1
select new { ParticipationId = c1.Key, CreateDateTime = c1.Max() };
var interactions = (from i in context.Interactions
join pp in context.Party_Participation on i.Party_Id equals pp.Party_Id
group i.Last_Update_Date_Time.HasValue ? i.Last_Update_Date_Time : i.Create_Date_Time by
pp.Participation_Id
into i1
select new {ParticipationId = i1.Key, CreateDateTime = i1.Max()}).AsQueryable();
Учитывая приведенный выше код, будет работать следующее
transactions.Union(cases);
Однако следующее не будет работать
transactions.Union(interactions);
Поскольку транзакции и дела возвращают Linq.IQueryable
, а последний - Linq.ParallelQuery
из-за соединения с другой таблицей.
Мне нужен этот функционал в основном для создания Union. interactions.Union(transactions)
или transactions.Union(interactions)
друг с другом.