Как преобразовать Linq.ParallelQuery в Linq.IQueryable

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. взаимодействия. Объединение (транзакции) или транзакции. Объединение (взаимодействия) одно с другим.

6
задан Elangesh 11 February 2011 в 19:38
поделиться