2013-03-01 70 views
0

我有一個代碼一流EF簡單關係和外鍵

public class test 
{   
    public int ID { get; set; } 
    public int ManagerID { get; set; } 


    [ForeignKey("ManagerID")] 
    public Person Manager { get; set; } 
} 

在創建正確databas表,但後來我嘗試訪問

pTest.Manager it returns null 

在數據庫表中的測試場經理ID具有正確的身份證號碼。

回答

1

使Manager屬性爲虛擬,以便EF可以延遲加載它或使用急切加載(使用Include方法)。

public class test 
{   
    public int ID { get; set; } 
    public int ManagerID { get; set; } 


    [ForeignKey("ManagerID")] 
    public virtual Person Manager { get; set; } 
} 
+0

Tnx做了詭計 - 但在那種情況下 - 這個虛擬是什麼意思? – SpoksST 2013-03-01 06:51:06

+0

@SpoksST EF將爲您的類創建一個子類型(代理)並覆蓋屬性注入邏輯以使屬性延遲。 – Eranga 2013-03-01 06:59:15