0

クラス (Module という名前) が、その前身である Module オブジェクトに関連する場合と関連しない場合がある関係を定義したい状況があります。先行はゼロまたはまったく存在しない可能性があります。クラスは次のようになります。

public class Module
{
    public int Id
    {
        get;
        set;
    }

    // other stuff here

    public Module Predecessor
    {
        get;
        set;
    }
}

そして、Predecessor が次のように Module 型のプロパティになるようにマッピングを定義しました。

<class name="Module">
    <Id name="Id">
        <generator class="native/>
    </Id
    <property name="Predecessor" type="Module" "unique="true"/>
<class>

ただし、タイプ「モジュール」が見つからないため、マッピングがコンパイルできないという苦情が寄せられています。クラスの長い名前を試しました

type="STC.EI.JobSubmissionSystem.Data.Domain"

クラスの完全修飾名

type="STC.EI.JobSubmissionSystem.Data.Domain, STC.EI.JobSubmissionSystem.Data"

無駄に。私の質問は:

これを適切にマッピングしていますか? そうでない場合は、どうすれば適切にマッピングできますか?

4

1 に答える 1

2

多対一要素を使用できます。

<class name="Module">
    <Id name="Id">
        <generator class="native"/>
    </Id>
    <many-to-one name="Predecessor" class="Module" column="predecessor_id" />
<class>

リレーションを定義するには、テーブルに列が必要であることに注意してください。

于 2009-03-12T17:31:52.407 に答える