禁止使用NHibernate完成的所有DML事务的数据库日志

时间:2017-05-19 11:38:04

标签: c# mysql sql-server nhibernate fluent-nhibernate

众所周知,每当我们在Database上执行任何DML语句时,数据库始终会为每个语句保留其事务日志。例如,对于SQL Server,每次使用这些东西捕获database.ldf文件时,如果发生故障,我们可以保留数据库,这是件好事。

但在我的情况下,我想使用NHibernate(流畅)从我的应用程序中抑制这些日志。

有可能我可以告诉我的NHibernate对象不要存储生成到我的数据库的任何事务日志吗?

谢谢, 维杰

1 个答案:

答案 0 :(得分:1)

交易日志是一个内部实施"详细信息"对于数据库,NHibernate不了解它们,也不能操纵它们,也不能告诉数据库不生成它们。

如果您的sql登录允许,您可以通过ISession.CreateSQLQuery("some query truncating the logs").ExecuteUpdate()发出数据库管理命令,如果您认为这确实是一件好事。

但是管理事务日志是数据库管理员的任务和责任,而不是责任。也许你应该问一个关于是什么导致你尝试这样做的问题,以及如何正确地解决它。因为你想要做的解决方案对我来说看起来很不对劲。