gpt4 book ai didi

c# - 组合两个 LINQ 查询,只有它们的返回结果不同

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:50 26 4
gpt4 key购买 nike

我有一个连接到几个表的查询,例如 TableATableBTableCTableD 最后我要说的是 select tableA 与它返回的 tableA roecrds 一起工作。后来我有另一个查询,它的 tables, joins and where clause 与第一个查询完全相同,但唯一的区别是最后我说的是 select tableB

所以我的问题是,我能否将这些组合在一起,这样我就不必运行查询两次?

        var query1 = (from ta in this.Context.TableA
join tb in this.Context.TableB on ta.Id equals tb.Id
join tc in blah
join td in blah
join te in blah
join tf in blah
join tg in blah
where (someConditionIsTrueOk)
select tg).ToList();


var query2 = (from ta in this.Context.TableA
join tb in this.Context.TableB on ta.Id equals tb.Id
join tc in blah
join td in blah
join te in blah
join tf in blah
join tg in blah
where (someConditionIsTrueOk)
select te).ToList();

最佳答案

您可以选择多个表或表中的列,并将它们组合到一个匿名类中,然后动态创建该类:

var result = (from ta in this.Context.TableA
join tb in this.Context.TableB on ta.Id equals tb.Id
...
...
where (someConditionIsTrueOk)
select new {ta, tb}).ToList();

var firstTableA = result[0].ta;
var firstTableB = result[0].tb;

关于c# - 组合两个 LINQ 查询,只有它们的返回结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599447/

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