2016-04-11 15 views
0

Wie würden Sie die folgende SQL-Anweisung mit Linq schreiben?C# linq Join auf zwei Spalten

Ich muss auf 2 Spalten beitreten, aber der Wert kann in beiden Spalten übereinstimmen. Es würde niemals auf beiden übereinstimmen. Ich habe gefunden, wie man sich auf beiden Spalten verbindet, aber nicht "oder".

Das folgende Beispiel funktioniert nur, wenn beide Spalten, die nicht das, was ich hier bin zu wollen:

var contact = (from c in db.Contacts 
          join m in db.message on new { A= c.ContactNumber, B = c.ContactNumber} equals new {A = m.to , B = [email protected] } 
          where m.id !=null 
          select(c)); 

      return contact ; 

Antwort

1

statt mit zwei from s Versuchen:

var contact = (from c in db.Contacts 
       from m in db.message 
       where c.contactnumber == m.to || 
       c.contactnumber == m.from 
       select c); 
return contact ;