2011-11-22 121 views
1

我對着試圖創建一個實體,並設置其關聯屬性的其中之一是0..1關係到另一個實體,當一個問題實體框架0..1到0..1關係

無論是該協會的結束是0..1

這是我嘗試做

var entityA = new EntityA(); 
var entityB = new EntityB(); 
entityA.associatedEntity = entityB; 
_context.SaveChanges(); 

它工作得很好,兩個實體將被保存,但是當我找回entityA我得到它的associatedEntity屬性設置爲null

這是爲什麼?它只發生在0..1到0..1的關係上。

回答

0

是否爲您的ObjectContext啓用延遲加載?如果沒有,你必須顯式加載相關的實體。如果您使用的是POCO或代碼優先,則可能還存在配置問題,該問題會阻止EF創建適當的代理類型,該類型會在您訪問associatedEntity屬性後執行延遲加載。

context.EntityASet.Include("associatedEntity").Single(e => e.Id == 10); 
+0

我有同樣的問題,並試圖解決方案。它沒有解決我的問題。任何其他想法? – Bloodhound

-1

可以EF使用4.1/2爲實現輕鬆與把屬性容易的關係:

您可以在EF使用上下文的ObjectSet對象之一的Include(string)方法,就像渴望負載相關的實體實體類屬性的頂部。 的詳細資料: using features of EF 4.1/2