数据库结构:
Shows
ID
Name
Genres
ID
Name
ShowsGenres
ShowsID
GenresID
以上是我的数据库我正在试图找出如何正确映射这个。我的Show对象是这样的:
public class Show
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual IList<Genre> Genres { get; set; }
}
我的流派对象是:
public class Genre
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual IList<Show> Shows { get; set; }
}
我尝试了几种不同的HasManyToMany版本,但没有一种方法按我希望的方式工作。
我需要能够删除节目以及与流派或多种流派的关系,但不能删除流派。
我需要能够删除一个类型及其与节目或许多节目的关系,但不能删除节目。
我如何映射这个或者我需要尝试不同的东西吗?
更新:考虑到这一点,我还需要能够在不删除节目或流派的情况下删除节目和流派之间的关系。
以下是我的映射,但不确定它们是否正确。
HasManyToMany<Genre>(x => x.Genres)
.Table("ShowGenres")
.ParentKeyColumn("ShowID")
.ChildKeyColumn("GenreID");
HasManyToMany<Show>(x => x.Shows)
.Table("ShowGenres")
.ParentKeyColumn("GenreID")
.ChildKeyColumn("ShowID");