2011-03-26 26 views
2

我有一些類稱爲MYDB是繼承的DbContext 類包含以下成員:實體框架代碼優先:爲什麼我的集合沒有創建?

public DbSet<Zoo> mAllZoos { get; set; } 

動物園類看起來是這樣的:

public class Zoo 
{ 
    public string Name { get; set; } 
    public IEnumerable<Animal> Animals { get; set; } 
    public int ZooSize { get; set; } 
    public int ID { get; set; } 
} 

有一種「動物」類,這是根本不相關,但它確實包含「ID」。

當我問他創造了從我的課,他創建了一個名爲動物爲我的動物表的數據庫,併爲我的動物園表動物園..

在動物園表中,只有「大小」和「名稱」字段 動物表中有ID和其他屬性,但沒有對動物園的引用。

底線是,有來自動物的動物園沒有提及,所以我不能救哪一種動物是在動物園..

我做了什麼錯?我該如何解決它。

在此先感謝

回答

4

我相信你需要在你的情況下申報的動物DbSet以及

public DbSet<Animal> Animals { get; set; } 

請問動物類有一個ID屬性,或者至少一個屬性標有KeyAttribute?實體框架將使用該ID(或鍵)在表格之間創建Foreign Key關係。

順便問一下,你就必須標誌着Zoo類作爲virtualAnimals財產,如果你想延遲加載工作:

public virtual IEnumerable<Animal> Animals { get; set; }