c# - 使用 Lambda 表达式编写复杂的 Linq 连接

标签 c# linq join lambda

这是我在 linq 中的加入我只是认为有没有可能用 lambda 编写它:

enter image description here

有人知道吗?有什么建议吗?

最佳答案

所有 LINQ 查询表达式都可以转换为“点符号”(方法调用)——编译器基本上就是这样做的。但是,它为连接(和一些其他操作)引入了透明标识符,这使得使用 lambda 表达式的等效代码更加繁琐。

鉴于代码最终将与查询表达式完全等价,我建议您坚持使用查询表达式版本。

如果您出于某种原因真的想转换为点表示法,我强烈建议您首先使用一个简单的示例 - 一个只有几个属性的连接。您将了解自己需要做什么,并可以逐渐建立起来。

我的 Edulinq post on query expression translation给出了编译器执行的所有转换的一些细节——这是一个很好的实验起点。

关于c# - 使用 Lambda 表达式编写复杂的 Linq 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186819/

相关文章:

c# - List<>.ForEach() 中的线程不安全异步

C# 自托管 Web - 另一个应用程序使用的 TCP 端口 (win10)

linq - 如何使用 LINQ 计算字符串数组中的单词数?

c# - Rx : EnumerableEx. For() 与 Enumerable.SelectMany()

mysql - LEFT JOIN 或 INNER JOIN 从一个表中查找第二个表中的项目

C# 相当于 jar 文件?

c# - 对类型为 T 的列表进行排序

c# - Linq:在 Lambda 表达式中分配变量

mysql连接两个表两列不相等

mysql - ActiveRecord MySQL 和联接