我很難提出一個高效的LINQ-to-SQL查詢。我試圖做這樣的事情:爲什麼這個額外的連接會增加查詢的數量?
from x in Items
select new
{
Name = x.Name
TypeARelated = from r in x.Related
where r.Type == "A"
select r
}
正如你所期望的,它會產生一個單一的查詢從「項目」表,其中的左連接上的「相關」表。現在,如果我再添幾個類似的行...
from x in Items
select new
{
Name = x.Name
TypeARelated = from r in x.Related
where r.Type == "A"
select r,
TypeBRelated = from r in x.Related
where r.Type == "B"
select r
}
其結果是,在第一次嘗試類似的查詢運行,其次是個人查詢「相關」表中的每個記錄在「項目」 。有沒有辦法將這一切都包裝在一個查詢中?這會是什麼原因?預先感謝您提供的任何幫助。