我配置了主从关系。 hbm 文件如下。当我运行一些这样的代码时
Favourite favourite = favourites.Find(f => f.Id== id);
user.Favourites.Remove(favourite);
m_UserRepository.Save(ref user);
我收到错误信息
NHibernate.Exceptions.GenericADOException:无法删除集合行:[Model.Entities.User.Favourites#249][SQL:SQL 不可用] ---> System.Data.SqlClient.SqlException:无法将值 NULL 插入列 ' UserId', 表 'BE.Favourite';列不允许空值。更新失败。
关于这意味着什么的任何建议请帮助。
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Model.Entities" schema="BE" assembly="Model" default-lazy="false">
<class name="Model.Entities.User, Model" table="Users" >
<id name="UserId" column="UserId" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="UserName" column="UserName" type="string" />
<bag name="Favourites" cascade="all" lazy="true">
<key column="UserId"/>
<one-to-many class="Model.Entities.Favourite, Model"/>
</bag>
</class>
</hibernate-mapping>
最佳答案
您是否尝试过设置 inverse="true"
在你的包上?
关于sql-server - nHibernate 主细节删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/388799/