C# nHibernate在更新记录时设置两次列的错误
如何使用具有复合ID的实体的Hibernate映射更新记录 我在nhibernate有一个映射类C# nHibernate在更新记录时设置两次列的错误,c#,asp.net,hibernate,nhibernate-mapping,entities,C#,Asp.net,Hibernate,Nhibernate Mapping,Entities,如何使用具有复合ID的实体的Hibernate映射更新记录 我在nhibernate有一个映射类 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" namespace="XXX.Core.Entities" assembly="FSI.Core.Entities"> <class name="RoleGroupLink" table="RoleGroupLink"> <c
<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例外
在SET子句中多次指定列名“RoleID”。
在同一SET子句中,不能为列分配多个值。
修改SET子句以确保列只更新一次。如果SET子句更新视图的列,则列名“RoleID”可能会在视图定义中出现两次。
在SET子句中多次指定列名“RoleGroupID”。在同一SET子句中,不能为列分配多个值。修改SET子句以确保列只更新一次。如果SET子句更新视图的列,则列名“RoleGroupID”可能会在视图定义中出现两次
我也尝试过使用这些xml属性,但我的应用程序抱怨插入和更新未知。有什么想法吗?我正在asp.net c Web应用程序中使用此属性。是否可以进行角色-类映射,是更新类角色还是仅更新链接?角色未更新。崩溃发生在数据库的更新过程中RoleGroupLink@hussian-这是您的子实体正在保存的某种类型。您需要将insert false和/或update=false设置为:www.andriybuday.com/2009/12/nhibernate-column-name-columnid-is.html