1

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

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

谢谢你。

问候,

4

1 回答 1

0

不,你不必放在public virtual ICollection Movies { get; set; }那里,如果你不需要做类似下面的事情:

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

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

于 2015-11-06T10:02:48.163 回答