我正在做ASP MVC的一些教程,视频中的人只使用每部电影1种类型,但我很想知道如何制作一部电影有多种类型。例如,如何制作此代码:
public class Movie
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Genre> Genre { get; set; }
}
public class Genre
{
public int Id { get; set; }
public string Name { get; set; }
}
生成一些像这样的表:
电影
类型
MovieGenresRelation
我尝试添加MovieGenresRelation类,但是如何向Movie类添加引用属性? 无论如何,我认为这不是我应该怎么做的所以请指出正确的方向。
答案 0 :(得分:2)
你走在正确的轨道上(你描述了多对多的关系)。
您实际上可以在EF6中的关系的两侧使用ICollection
,但在EFCore中,您必须自己制作中间表。在EF6中,您可以将其添加到Genre
:
public virtual ICollection<Movie> Movies {get; set;}
就中间版本中的参考属性而言,只需按照您期望的方式添加它们:
public virtual Movie Movie {get; set;}
public virtual Genre Genre {get; set;}
主要区别在于Movie
和Genre
中的属性会指向MovieGenreRelation
而不是彼此。