2017-08-14 101 views
0

EF6的新手。我有幾個加載得很好的類,但其中一個不是很好。代碼優先EF6未取回班級

這是有問題的類

public class Family 
{ 
    public int FamilyId { get; set; } 
    public string Name { get; set; } 
    public string Standing { get; set; } 

    public virtual Person Father { get; set; } 

    public virtual Person Mother { get; set; } 

    public virtual Person Spouse { get; set; } 
    public virtual ICollection<Person> Siblings { get; set; } 
    public virtual ICollection<Person> Children { get; set; } 
} 

它的父類

public class Ven 
{ 
    public int VenId { get; set; } 
    ... 
    public virtual Family Family { get; set; } 
    public virtual ICollection<Devotion> Devotions { get; set; } 
    ... 
} 

而其他的一個工作

public class Devotion 
{ 
    public int DevotionId { get; set; } 
    public string Name { get; set; } 
    public int Rank { get; set; } 
} 

我與種子填充他們過去很簡單,但已經爆炸了,因爲我一直在試圖弄清楚發生了什麼。

context.Families.AddOrUpdate(
    f => f.FamilyId, 
    new Family 
    { 
     FamilyId = 1, 
     Name = "Tal", 
     Standing = "Baron", 
     Father = context.Persons.Find(1), 
     Mother = context.Persons.Find(2), 
     Children = new List<Person> {context.Persons.Find(3)} 
    } 
); 

... 
Family = context.Families.Find(1) 
... 
Devotions = new List<Devotion> { context.Devotions.Find(1), context.Devotions.Find(2) }, 

我讀過幾篇SO帖子,試圖找出這一點,但找不到任何幫助。

編輯1: 好吧,所以我嘗試了一些東西。我完全刪除了數據庫並重新啓動它。我仍然有同樣的問題。

我已驗證家庭已添加到表格中。通過拋出錯誤,我已證實該家庭正在通過身份證找到。

但是Ven表仍然沒有在它的Family_FamilyId列中獲得值,即使家庭被分配給它。

任何幫助將不勝感激。 DataBase

編輯2: Entire Seed Function。這曾經只是一個大的「新Ven」。

+0

那麼你有什麼問題!? – Kahbazi

+0

EF6未按標題中所述檢索課程的數據。 –

+0

哪個類,哪個變量,哪一行? – Kahbazi

回答

0

好的,我真的不知道爲什麼,但把Seed放入初始化程序,並將[new Ven]語句放回到一個巨大的add中,使它重新開始工作。