2013-02-26 46 views
1

我有一個包含所有值的庫我想我怎樣做一個LINQ外部聯接

我們叫它fieldsRepo 然後我有一個包含字段值的實體。我們將其稱爲entity.FieldValues

我需要編寫一個查詢以獲取fieldsRepo的所有字段,如果它存在,則它們的值將從entity.FieldValues

我該怎麼寫這個LINQ與左連接,這是要過濾掉實體不包含字段。我希望他們仍然被包括在內。

var query = from field in fieldsRepo 
      join entityField in entity.FieldValues 
       on field.Id equals entityField.FieldId 
      select new { ... }; 

回答

1

使用join .. into(即GroupJoin)。每個加入組將包含相關的字段值(如果有的話)

var query = from field in fieldsRepo 
      join entityField in entity.FieldValues 
       on field.Id equals entityField.FieldId into g 
      select new { 
       field.Id, 
       ValuesCount = g.Count() 
      }; 
相關問題