gpt4 book ai didi

c# - 如何将 Linq.ParallelQuery 转换为 Linq.IQueryable

转载 作者:太空狗 更新时间:2023-10-29 21:55:42 26 4
gpt4 key购买 nike

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) 一个与另一个。

最佳答案

匿名类型的transactionscases是一样的。匿名类型的interactions不同!

所以解决方案是以一种使匿名类型相同的方式选择。因此,要么创建您自己的类型,要么将所选产品的属性转换为相同类型。

这样的事情应该为所有选择产生相同的匿名类型:

select new { ParticipationId = (int)c1.Key, CreateDateTime = (DateTime)c1.Max() }

关于c# - 如何将 Linq.ParallelQuery 转换为 Linq.IQueryable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com