2013-01-06 32 views
1

我有一個連接表,它有一個字段,我需要進入一個實體並具有可更新性。我有下面的表格設置,我需要的列是「Account」表中的「PersonelleID」。現在,可能有多個,所以在這種情況下,有一個小學的概念(想像你是一個從一所學校轉到另一所學校的學生,你會擁有同一個帳戶,但有多所學校)。實體框架映射連接表字段

任何想法如何我可以把它帶入實體世界?生成數據庫忽略連接表上的這個字段(可能是因爲它不知道把它放在哪裏)。

試圖看看最好的路線是什麼。

Entity Problem

+0

您使用模型 - 優先的方法或數據庫第一。這個問題還不清楚,因爲你提到'生成數據庫忽略連接表上的這個字段'。你是從模型生成數據庫嗎? – Yakimych

+0

對不起,我正在使用數據庫優先方法。 – Dave

+0

如果你從數據庫中生成模型,並且你的表包含一個額外的字段(除了兩個Id),它的實體應該由EF生成(你不應該做任何特殊的事情來實現它)。你使用什麼版本的EF?您是否試過刪除模型並從頭開始生成,或者您是否嘗試更新現有模型? – Yakimych

回答

0

,如果您使用的是代碼優先方法,你將創造有外鍵帳戶和學校,你的額外屬性連接表的實體。

public class Account 
{ 
    public int AccountId { get; set; } 
    public string UserName { get; set;} 
} 

public class AccountSchool 
{ 
    [ForeignKey("Account")] 
    public int AccountId { get; set; } 

    [ForeignKey("School")] 
    public string CEEBCodeId { get; set; } 

    public string PersonelleID { get; set; } 
} 

public class School 
{ 
    [Key] 
    public string CEEBCodeId { get; set; } 
    public string Name { get; set;} 
} 

這是多麼我已經做到了和這裏的是一篇文章,解釋如何做到這一點還有: http://www.itq.nl/blogs/post/Code-First-Entity-Framework-Additional-properties-on-many-to-many-join-tables.aspx

+0

我想通過代碼優先的方式,但我使用的是生成的實體模型。任何方式在那裏做? – Dave