我们其中一个类的NHibernate映射使用带INSERT ... ON DUPLICATE KEY UPDATE ...
的自定义插入语句。
因为我们on MySQL the affected-rows value is 2 when an update occurs,&amp;所以mapping xml uses <sql-insert check="none">
。
这适用于Mono 2.10.8.1&amp; Ubuntu 12.04.5,但Mono 3.12.1&amp; Ubuntu 14.04.1它好像忽略了check="none"
:单元测试失败
NHibernate.AdoNet.TooManyRowsAffectedException : Unexpected row count: 2; expected: 1
我已经验证了相同版本的NHibernate&amp;映射XML模式正在两种环境中使用。在构建期间复制到bin/Debug
的其他第三方依赖项也是相同的; GAC存在明显差异。
如果相关,则使用<composite-id>
映射相关课程。
我还可以在OS X 10.9.5上使用Mono 3.12.1重现故障。
为什么这会影响Mono 3.12环境,我该如何解决它?
我会尝试在更新的NHibernate上重现,&amp;也许会看一下custom persister solution。
环境: