异常? HasManyToMany NHibernate Mapping

时间:2010-07-06 04:46:40

标签: 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> 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");

1 个答案:

答案 0 :(得分:0)

这是一个老帖子,但我基本上有同样的问题。这里回答:

HasManyToMany Fluent NHibernate Mapping Delete Error