Csharp/C#教程:将两个Linq查询的结果合并为一个单独的Var?分享


将两个Linq查询的结果合并为一个单独的Var?

我有两个不同的数据库,包含两个具有完全相同设计的表。 如何最有效地组合这两个查询的结果? 我知道我可以将每个结果放入字典或数组或其他任何内容,但我想有一种更简单的方法可以做到这一点。

var db1 = //A database object connected to database1 var db2 = //A database object connected to database2 var result1 = db1.table.where(a=>a.value>0); var result2 = db2.table.where(a=>a.value>0); var resultSum = result1+result2; //??? 

谢谢!

附录:Concat或Union,这个特例更好,为什么? 谢谢!

您只能组合相同类型的枚举,您可以将它们都投影到公共类,然后将它们连接起来:

 var result1 = db1.table.Where(a=>a.value>0).Select( x=> new Foo() { /*set props*/ }); var result2 = db2.table.Where(a=>a.value>0).Select( x=> new Foo() { /*set props*/ }); var resultSum = result1.Concat(result2); 

 var resultUnion = Enumerable.Union(result1, result2) 

或者,使用externsion方法语法,

 var resultUnion = result1.Union(result2); 

最好的方法是使用Concat:

 var resultingEnumerable = result1.Concat(result2); 

您应该查看Union和Intersect运算符。

上述就是C#学习教程:将两个Linq查询的结果合并为一个单独的Var?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1033815.html

(0)
上一篇 2022年1月18日
下一篇 2022年1月18日

精彩推荐