nHibernate错误,在更新记录时将列设置两次

时间:2014-05-08 13:28:52

标签: c# asp.net hibernate nhibernate-mapping entities

如何使用具有复合ID的实体的Hibernate Mapping更新记录 我在nhibernate中有这个映射类。

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" namespace="XXX.Core.Entities" assembly="FSI.Core.Entities">
  <class name="RoleGroupLink" table="RoleGroupLink">
    <composite-id>
      <key-many-to-one name="RoleGroup" class="RoleGroup" column="RoleGroupID"  />
      <key-many-to-one name="Role" class="Role" column="RoleID" />
      <key-property name="ObjectID" type="Int32" column="ObjectID" />
      <key-property name="ObjectName" type="AnsiString" column="ObjectName" length="100" />
      <key-property name="RoleID" type="AnsiString" column="RoleID" />
      <!--type="Int32"-->
      <key-property name="RoleGroupID" type="AnsiString" column="RoleGroupID" />
      <!--type="Int32"-->
    </composite-id>
  </class>
</hibernate-mapping>

当我尝试使用此方法保存或更新实体时,它会出现如下错误, Nhibernate Exception。

在SET子句中多次指定列名“RoleID”。 在同一SET子句中不能为列分配多个值。 修改SET子句以确保列只更新一次。如果SET子句更新视图的列,则列名“RoleID”可能在视图定义中出现两次。 在SET子句中多次指定列名“RoleGroupID”。在同一SET子句中不能为列分配多个值。修改SET子句以确保列只更新一次。如果SET子句更新视图的列,则列名称“RoleGroupID”可能在视图定义中出现两次。

我也试过这些xml属性,但我的应用程序抱怨插入和更新是未知的任何想法?

0 个答案:

没有答案