我们目前正在评估 nHibernate 是否支持我们项目的要求。我们与另一个应用程序共享数据库,因此我们对模式的更改不是完全自由的。某些列填充了唯一且连续的数字(例如发票)。下一个数字由一个存储过程确定,该存储过程也实现了锁定算法,以保证这些数字是连续的。一方面,我们可以在相应的表上定义一个触发器,当提供空值或特殊值时设置列的值。这将需要更改现有的数据库定义——尽管它可能是实现这一点的最可靠方法。为了避免数据库定义的改变,我们试图在 nHibernate ORM 中解决这个问题。我们' 如果提供了一个空值,我们首先尝试实现一个调用 NullSafeSet 中的存储过程的用户类型。不幸的是,调用 NullSafeSet 时,提供的命令的连接和事务尚未设置。
我们如何用 nHibernate 解决这个问题?
提前致谢,
马库斯