【问题标题】:Entity Framework static data (lookup table) implementationEntity Framework 静态数据(查找表)实现
【发布时间】:2016-02-07 08:28:54
【问题描述】:

目前我正在使用实体框架和代码优先方法开发一个 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; }”放在 Genre 类中吗? 我相信我不应该放这个,因为类型是静态数据。但是我不确定。 此外,我不想在代码中使用枚举作为流派,因为将来可以在数据库中定义新的流派。

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

谢谢。

问候,

【问题讨论】:

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


    【解决方案1】:

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

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

    无论您在 Genre 中是否有 Movies 集合,都会创建 Genre 和 Movie 之间的一对多关系。

    【讨论】:

    • 非常感谢@ycsun 的及时回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多