2012-02-14 59 views
0

我知道這個問題可能是非常基本的。因此,我一直在檢查所有圍繞該項目的環境。懶惰加載不工作EF4(關係總是NULL)

我正在使用一堆POCO實體,從數據庫中讀取數據。當創建上下文,我讓代理和惰性加載:

this.ContextOptions.LazyLoadingEnabled = true; 
this.ContextOptions.ProxyCreationEnabled = true; 

_entities1 = CreateObjectSet<Entities1>(); 
_entities2 = CreateObjectSet<Entities2>(); 

我已標記的屬性,我想作爲虛擬自動加載,在文檔爲已讀:

public virtual List<Entity1> GetEntities { get; set; } 

然而屬性是始終爲NULL。當一個像執行代碼:

foreach (var forEntity in colection) 
{ 
    object x = forEntity.Entities1; 
} 

我可以看到「forEntity」是如何生成的代理,但應該是延遲加載的所有屬性都爲NULL。

非常感謝! :)

回答

0

你有關於Entity1表中的任何子記錄關係?如果不是的話,你會得到一個空集合而不是空集合。

+0

嗨喬治,我不知道如果我理解正確。在EDMX中,我將關係定義爲一對多。屬性的名稱和導航屬性(在EDMX中)是相同的。 – IoChaos 2012-02-14 16:36:33

+0

嗨,惰性加載的屬性Entities1(假設是一個列表)將返回一個空對象,而不是一個空的列表,如果沒有父實體的子記錄(forEntity)。 – 2012-02-14 16:43:29

+0

對不起喬治,好點。不幸的是,有孩子的記錄。謝謝! (實體出現在EDMX中) – IoChaos 2012-02-14 17:29:37