0

次のエンティティBookがあり、本をグループ化します (各本BookSeriesはシリーズ内の他のすべての本を参照する必要があります)。クラスの定義は次のようになると思います。

public class Book {
    public int Id { get; set; }
    public string Title { get; set; }
    public List<Book> BookSeries { get; set; }
}

NHibernate のマッピングは次のようになると思います。

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Model" assembly="Model">
<class name="Book" table="Books" lazy="false">
    <id name="Id" column="Id" type="int" unsaved-value="">
        <generator class="native"/>
    </id>
    <bag name="BookSeries" table="BookSeries">
        <key column="Id"/>
        <many-to-many class="Book" column="BookSeriesId" />
    </bag>
</class>
</hibernate-mapping>

今、私は次の3つの質問があります:

  1. この種の関係 (自己参照) をモデル化する最良の方法は何ですか?
  2. NHibernate を使用してこれをどのようにマッピングする必要がありますか?
  3. BookSeries に新しい本を挿入するとき、新しい本がシリーズのすべての本を参照していることを確認する方法 (およびその逆) は?
4

1 に答える 1