为什么在Mono 3.12.1上显然忽略了NHibernate <sql-insert check =“none”>?

时间:2015-04-27 02:04:11

标签: c# mysql nhibernate mono

我们其中一个类的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

环境:

  • MySQL 5.6.21(本地)&amp; 5.5.40-log(AWS RDS)
  • NHibernate 3.2.0.GA

0 个答案:

没有答案