我需要执行一个 LINQ2DataSet 查询,该查询对多个字段进行连接(如
var result = from x in entity
join y in entity2
on x.field1 = y.field1
and
x.field2 = y.field2
我还没有找到合适的解决方案(我可以将额外的约束添加到 where 子句,但这远非合适的解决方案,或者使用 this 解决方案,但假设是等值连接)。
在 LINQ 中是否可以在单个连接中连接多个字段?
编辑
var result = from x in entity
join y in entity2
on new { x.field1, x.field2 } equals new { y.field1, y.field2 }
是我引用的解决方案,假设上面有一个等值连接。
进一步编辑
为了回应对我的原始示例是等值连接的批评,我承认,我当前的要求是等值连接,并且我已经采用了上面提到的解决方案。
但是,我正在尝试了解我拥有/应该使用 LINQ 的可能性和最佳实践。我很快将需要使用表 ID 执行日期范围查询连接,并且只是先发制人,看来我必须在 where 子句中添加日期范围。
一如既往地感谢您提出的所有建议和意见
最佳答案
var result = from x in entity
join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 }
关于c# - 如何在 LINQ 中对单个连接中的多个字段进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373541/