实体框架静态数据(查找表)实现

时间:2015-11-06 08:39:33

标签: entity-framework lookup-tables static-data

目前,我正在使用实体框架开发一个C#项目,采用代码优先的方法。我坚持使用静态(参考)数据。

我们假设有一部电影"和#34;电影类型"实体为:

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; }  
}

电影可以有一种类型,但一种类型可以属于多种类型。 在这种情况下,我是否必须放置&#34;公共虚拟ICollection电影{get;组; }&#34;在类型课? 我相信我不应该这样,因为类型是静态数据。但是我不确定。 另外我不想在代码中使用enum 来表示类型,因为将来可以在数据库中定义新的类型。

使用实体框架处理这种关系的最佳方法是什么?

谢谢。

此致

1 个答案:

答案 0 :(得分:0)

不,如果您不需要执行与以下类似的操作,则不必将public virtual ICollection Movies { get; set; }放在那里:

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

无论您是否在流派中拥有Movies集合,都会创建流派和电影之间的一对多关系。