这是我在 linq 中的加入我只是认为有没有可能用 lambda 编写它:
有人知道吗?有什么建议吗?
最佳答案
所有 LINQ 查询表达式都可以转换为“点符号”(方法调用)——编译器基本上就是这样做的。但是,它为连接(和一些其他操作)引入了透明标识符,这使得使用 lambda 表达式的等效代码更加繁琐。
鉴于代码最终将与查询表达式完全等价,我建议您坚持使用查询表达式版本。
如果您出于某种原因真的想转换为点表示法,我强烈建议您首先使用一个简单的示例 - 一个只有几个属性的连接。您将了解自己需要做什么,并可以逐渐建立起来。
我的 Edulinq post on query expression translation给出了编译器执行的所有转换的一些细节——这是一个很好的实验起点。
关于c# - 使用 Lambda 表达式编写复杂的 Linq 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186819/