目前,我正在使用实体框架开发一个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 来表示类型,因为将来可以在数据库中定义新的类型。
使用实体框架处理这种关系的最佳方法是什么?
谢谢。
此致
答案 0 :(得分:0)
不,如果您不需要执行与以下类似的操作,则不必将public virtual ICollection Movies { get; set; }
放在那里:
Genre genre = ....;
var movies = genre.Movies.ToList();
无论您是否在流派中拥有Movies
集合,都会创建流派和电影之间的一对多关系。