如何将Linq.ParallelQuery转换为Linq.IQueryable

Ela*_*esh 6 c# linq linq-to-objects linq-to-entities entity-framework

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();
Run Code Online (Sandbox Code Playgroud)

考虑到上面的代码,以下代码将起作用

transactions.Union(cases);
Run Code Online (Sandbox Code Playgroud)

但是以下不起作用

transactions.Union(interactions);
Run Code Online (Sandbox Code Playgroud)

因为事务和案例都在返回,Linq.IQueryable但最后一个是Linq.ParallelQuery由于它与另一个表连接.

我基本上需要这个功能来制作联盟.interactions.Union(transactions)transactions.Union(interactions)与其他人一起.

Ela*_*esh 1

我对这个问题的回答可能不正确,但我提出这个问题主要是为了以下问题。 LINQ to Entities Union 引发错误

我找到了diceguyd30的精彩回复 ,它解决了我的问题。因此,我将结束这个问题以回应我之前问题的答案。