SQL Server 2014中的新功能是延迟耐久性。
通常最好在事务级别使用它(用于需要速度的特定事务,并且可以容忍数据丢失的小变化)。
我们使用NHibernate 3.2。是否有一种直接的方法可以将延迟持久性标记添加到提交中:
COMMIT TRANSACTION WITH (DELAYED_DURABILITY = ON);
在交易层面?例如,在我想要它的一些地方,而不是到处都是。
答案 0 :(得分:1)
NHibernate直接使用IDbTransaction.Commit()
,因此您必须使用本机SQL发出提交。这样做会干扰NHibernate中的许多其他机制,比如事件,拦截器......所以我认为这不是正确的做法。
我个人不明白为什么微软选择这样的语法而没有提供另一种方法。我希望应该有一个像SET TRANSACTION DURABILITY DELAYED
之类的命令可以在提交之前发出,但是没有。