不寻常?Hasmannytomynhibernate映射

不寻常?Hasmannytomynhibernate映射,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,数据库结构: 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> G

数据库结构:

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; }
}
公共类节目
{
公共虚拟整数ID{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟IList类型{get;set;}
}
我的类型对象是:

public class Genre
{
    public virtual int ID { get; set; }
    public virtual string Name { get; set; }
    public virtual IList<Show> Shows { get; set; }
}
公共类体裁
{
公共虚拟整数ID{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟IList显示{get;set;}
}
我试过几种不同的HasmanyTomy,但都没有达到我想要的效果

我需要能够删除一个节目和与流派的关系,或许多流派,但不能删除流派

我需要能够删除一个流派及其与一个或多个节目的关系,但不能删除该节目

我如何绘制这张地图,或者我需要尝试不同的方法吗

更新:再仔细考虑一下,我还需要能够在不删除节目或流派的情况下删除节目和流派之间的关系

这是我的映射,但不确定它们是否正确

        HasManyToMany<Genre>(x => x.Genres)
            .Table("ShowGenres")
            .ParentKeyColumn("ShowID")
            .ChildKeyColumn("GenreID");

        HasManyToMany<Show>(x => x.Shows)
            .Table("ShowGenres")
            .ParentKeyColumn("GenreID")
            .ChildKeyColumn("ShowID");
HasManyToMany(x=>x.Genres)
.Table(“ShowGenres”)
.ParentKeyColumn(“ShowID”)
.ChildKeyColumn(“GenreID”);
HasManyToMany(x=>x.Shows)
.Table(“ShowGenres”)
.ParentKeyColumn(“GenreID”)
.ChildKeyColumn(“ShowID”);

这是一篇老文章,但我基本上有相同的问题。答复如下:


更新了我目前拥有的映射,但我知道它们不能正常工作,只是不知道如何让它们工作。我知道这是一篇老文章,但你有没有找到解决这个问题的方法?我面临着类似的情况。