2016-04-11 30 views
0

Aşağıdaki sql deyimini linq kullanarak nasıl yazarsınız?C# linq iki sütunta birleştir

select * from contacts 
inner join messages on contacts.contactnumber = messages.[to] or contacts.contactnumber = messages.[from] 

2 sütuna katılmam gerekiyor, ancak değer her iki sütunda da eşleşiyor olabilir. Asla ikisine de uymazdı. Her iki sütuna nasıl katılacağımı buldum ama "ya da" değil.

Aşağıdaki örnek ben burada isteyen pm ne değildir, yalnızca iki sütunu çalışır:

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 ; 

cevap

1

yerine iki from s kullanarak deneyin:

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 ;