0

2 つのエンティティのマッピング ファイルは次のとおりです。2 つのエンティティに対して多対多の関係を構築したいのですが、「1 つの」エンティティの列はキー列ではありません。DB テーブルが変更できなかったため、それを構築する方法があれば教えてください。 .私を助けてください、thx。

<class name ="Sue" table="[Sue]">
    <id name="ID" column ="ID" type="Guid" />

    <property name="SueSmallType">
        <column name="SueSmallType" sql-type ="nvarchar(Max)" />
    </property>

</class>


<class name ="SueType" table="[SueType]">
    <id name="ID" column ="ID" type="Guid" />

    <property name="Code">
        <column name="Code" sql-type ="nvarchar(Max)" />
    </property>

</class>

たとえば、「SueSmallType」と「Code」の関係を構築するのですが、どうすればよいでしょうか。

4

1 に答える 1

1

このシナリオには property-ref がありますが、「SueSmallType」は参照されるオブジェクトの ID ではないため、遅延読み込みが失われます。

<class name ="Sue" table="[Sue]">
    <id name="ID" column ="ID" type="Guid" />

    <many-to-one name="SueType" column="SueSmallType" property-ref="Code"/>
</class>

<class name ="SueType" table="[SueType]">
    <id name="ID" column ="ID" type="Guid" />

    <property name="Code">
        <column name="Code" length="8000" />
    </property>
</class>

特定のしきい値 (たとえば 8000) を超える長さプロパティは、sqltype をデータベースの長いテキスト型 (nvarchar(max), text) に設定するのと同じ効果があることに注意してください。

于 2012-10-11T07:23:15.057 に答える