2015-11-06 69 views
0

目前我正在開發一個C#項目,使用實體框架和代碼優先的方法。我堅持使用靜態(參考)數據。實體框架靜態數據(查找表)實現

讓我們假設有「電影」和「電影風格」實體:

public class Movie 
{ 
    [Key] 
    public int ID; 

    public String Name; 

    public DateTime Year; 

    public String GenreCode; 

    [ForeignKey("GenreCode")] 
    public virtual Genre Genre { get; set; } 
} 


public class Genre 
{ 
    [Key] 
    public String Code; 

    //description of the code 
    public String Desc; 

    //Should I put this??? 
    public virtual ICollection<Movie> Movies { get; set; } 
} 

電影可以有一個流派,但一個流派可以屬於多個流派。 在這種情況下,我必須在流派類中加入「public virtual ICollection Movies {get; set;}」嗎? 我相信我不應該放這個,因爲體裁是一個靜態數據。但我不確定。 也我不想在代碼中使用enum作爲流派,因爲將來可以在數據庫中定義新的流派。

使用實體框架處理這種關係的最佳方式是什麼?

謝謝。

問候,

回答

0

不,你不必把public virtual ICollection Movies { get; set; }那裏,如果你不需要做類似下面的內容:

Genre genre = ....; 
var movies = genre.Movies.ToList(); 

的一個一對多的關係無論您是否在流派中收藏了Movies,都將創建風格與電影之間的風格。

+0

非常感謝您的及時回覆@ycsun! – tempx