LINQ

2016-03-30 32 views
-1

İçinde Nerede Olmalıdır Bir ID ile birlikte katılmaya çalıştığım iki tablo var, ancak yalnızca Tablo A'daki satırları seçin, burada Tablo B'de bir değer boş. LINQ

bu çalıştı:

var dbXMLSoccerTeams = (from dbXMLSoccerTeam in data.EFXMLSoccerTeam 
    where dbXMLSoccerTeam.ID == (from dbMatchTeam in data.EFMatchingTeamIDs 
     where dbMatchTeam.SmarketsID == null 
     select dbMatchTeam.XMLSoccerID) 
    select dbXMLSoccerTeam); 

Ama bu operatör == IQueryable

+6

Gerçekten de - iç içe geçmişin sonucu '...' 'seçiminin' tek bir değer olmamasıdır, bu bir dizidir. –

cevap

4

görünüyor Benim için aslında birleştirme kullanmalısınız:

var dbXMLSoccerTeams = from dbXMLSoccerTeam in data.EFXMLSoccerTeam 
         join dbMatchTeam in data.EFMatchingTeamIDs 
         on dbXMLSoccerTeam.ID equals dbMatchTeam.XMLSoccerID 
         where dbMatchTeam.SmarketsID == null 
         select dbXMLSoccerTeam; 
+0

Şerefe, bir katılımın ileriye gideceğinden şüpheleniyorum, kudos :) –

4

deneyin int int karşılaştırmak için kullanılamaz söyleyerek bir hata alıyorum:

var dbXMLSoccerTeams = (from dbXMLSoccerTeam in data.EFXMLSoccerTeam 
         from dbMatchTeam in data.EFMatchingTeamIDs 
         where dbMatchTeam.SmarketsID == null 
         && dbXMLSoccerTeam.ID == dbMatchTeam.XMLSoccerID 
         select dbXMLSoccerTeam)