Linq表达式两个字段内连接

本文关键字:两个 字段 连接 表达式 Linq | 更新日期: 2023-09-27 18:02:31

这是一个简单的困难,我需要帮助。我在c#上有一个linq表达式,我想做,但我不知道怎么做。

在这个表达式中,我只需要像下面的代码一样添加一个"AND"或"&&"。

on comentListaDef.Id equals respostaComentListaDef.IdComentListaDef &&   
RespostaComentListaDef.IdAutor = 1072  

Linq表达式两个字段内连接

您应该在连接之前(或之后)的where中应用该条件,而不是在实际的join表达式中应用,因为您正在从其中一个集合中过滤出项目,而不是确定哪些项目在两个集合之间是匹配的或不匹配的

您应该使用匿名对象执行JOIN与多个连接条件:

join respostaComentListaDef in db.RespostaComentListaDef
on new { Id = comentListaDef.Id, IdAutor = 1072 } equals new { Id =  respostaComentListaDef.IdComentListaDef, respostaComentListaDef.IdAutor }

您需要使用两个具有相同属性名称的匿名对象来连接

join respostaComentListaDef in db.RespostaComentListaDef
on new { comentListaDef.Id, IdAutor = 1072 } equals 
   new { Id = respostaComentListaDef.IdComentListaDef, respostaComentListaDef.IdAutor }