我是nHibernate的新手,并尝试了解仅与nHibernate + SQL Server数据库一起提供的以下行为。 在我的应用程序中,我有三个表A,B和C之间的一对多关系:A有很多B,B有很多C. 我为A的ID使用了自定义ID生成器,但是对于B和C我只使用在代码中分配的复合键,因此nHibernate只能进行插入。这些似乎工作正常,我应该正确保存所有对象。 问题是nHibernate看起来不够智能,试图先批量插入A类所有对象,然后批量插入所有B,最后批量插入所有C. 现在,它首先尝试批量处理C类型的一些对象,然后突然出现FK约束违规。
但是,此行为仅与SQL Server数据库一起提供。我使用MSSQL2008方言和nHibernate 4.0.0 GA和fluent-nhibernate进行映射。 当我切换到MySQL时,一切正常。
任何有关错误的帮助或想法都将非常受欢迎。