我下面舉個例子:如何包括物業
using (MyContext context = new MyContext())
{
var query = from entityA in context.EntityA.Include("TestProperty")
join entityB in context.EntityB on entityA.Id equals entityB.EntityAId
join entityC in context.EntityC on entityB.Id equals entityC.EntityBId
where entityC.Id == id
select entityA;
List<EntityA> toReturn = query.ToList();
return toReturn;
}
我的加入都工作正常,但是,我的「TestProperty」導航屬性加載不正確。我看,在運行時,它是空的。
當我做到以下幾點:
context.LoadProperty(toReturn, "TestProperty");
它正確地加載 'TestProperty' 屬性。在我的LINQ-to-SQL語句中是否有錯誤?
更新: 我改的第一行是:
from entityA in context.EntityA.Include("TestProperty").ToList()
地拋在下面的線相同的其餘部分,它正確地裝入我的財產。這是解決問題的恰當方法嗎?
這看起來像一個LINQ到實體問題,而不是LINQ到SQL。如果你編輯並重新標記你的問題,你可能會有更多的運氣。 :) – Peter 2010-08-20 20:29:48