0

两个实体的映射文件如下,我想为两个实体建立一对多关系,但是“一个”实体的列不是关键列。由于数据库表无法更改,我可以有一个方法来构建它.请帮助我,谢谢。

<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 回答