Linq表达两个字段内连接

时间:2015-07-13 15:38:41

标签: c# entity-framework

我需要帮助,这很简单。我在C#上有一个linq表达式,我试图这样做,但我不知道该怎么做。

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您应该使用匿名对象来执行具有多个连接条件的JOIN

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

答案 2 :(得分:0)

您需要使用两个具有相同属性名称的匿名对象加入

DATA = 'disk_int_500p_a0000_theta45_r1D03'

set size square
set xrange[-22:22] 
set yrange[-22:22]
set view map

set xlabel '$\alpha$ [M]'
set ylabel '$\beta$ [M]'

set object 1 rectangle from graph 0,0 to graph 1,1 fillcolor rgb "black" behind

stats DATA.'.dat' using ($4 - 1.0) name "z" 

set palette defined (z_min "blue", z_max/10 "green", z_max/3 "orange", z_max "red")

splot DATA.'.dat' using ($1):($2):($4 - 1.0) with points pointtype 0 palette