2016-07-27 3 views
0
var allData = (from t1 in table1 
       join t2 in table2 
       on t1.Column1 equals t2.Column1 
       join t3 in table3 
       on t1.Column1.ToString() equals t3.Column1 
       join t4 in table4 
       on t3.Column1 equals t4.Column1 
       join t6 in table4 
       on t1.Column1 equals t6.Column1 
       join t5 in table5 
       on  new { X1 = t4.Column1, X2 = t4.Column2 } 
       equals new { X1 = t5.Column1, X2 = t5.Column1 } 

i die gleiche Tabelle table4 zweimal haben, aber wie kann ich equals aus verschiedenen Tabelle verwenden, wie, was ich für table5 tat?, wie man gleich zwischen mehreren Tabellenspalten in join mit Linq

+3

Ihre Frage ist nicht klar, was Sie fordern –

Antwort

1

können Sie eine Where Klausel verwenden, wenn Sie table4 zweimal nicht angeben möchten:

var allData = (from t1 in table1 
       join t2 in table2 
       on t1.Column1 equals t2.Column1 
       join t3 in table3 
       on t1.Column1.ToString() equals t3.Column1 
       join t4 in table4 
       on t3.Column1 equals t4.Column1 
       join t5 in table5 
       on new { X1 = t4.Column1, X2 = t4.Column2 } 
       equals new { X1 = t5.Column1, X2 = t5.Column1 } 
       where t1.Column1 == t4.Column1 
       select ....