Database NHibernate脱机模式

Database NHibernate脱机模式,database,nhibernate,Database,Nhibernate,我有个问题 在NHibernate中是否有这样做的方法: 如果数据库处于脱机状态(连接错误或其他情况),以在本地或其他地方保留所有更改,并且当数据库联机时,请重新同步这两个数据库 如何做到这一点? 谢谢,这不在NHibernate的范围之内 您可以在更高级别的层(会话顶部的一个抽象,用于捕获错误并保存到其他地方)或更低级别的层(实现隐藏连接详细信息的IDriver)中执行此操作 两者都很复杂。更好的选择是使用支持复制的数据库(SqlServer就是一个例子),始终使用本地数据库,并让复制引擎处理

我有个问题 在NHibernate中是否有这样做的方法: 如果数据库处于脱机状态(连接错误或其他情况),以在本地或其他地方保留所有更改,并且当数据库联机时,请重新同步这两个数据库

如何做到这一点?
谢谢,这不在NHibernate的范围之内

您可以在更高级别的层(会话顶部的一个抽象,用于捕获错误并保存到其他地方)或更低级别的层(实现隐藏连接详细信息的IDriver)中执行此操作

两者都很复杂。更好的选择是使用支持复制的数据库(SqlServer就是一个例子),始终使用本地数据库,并让复制引擎处理同步


当然,这还增加了冲突管理的问题(不管怎么说,这在所有模式中都会发生)

这超出了NHibernate的范围

您可以在更高级别的层(会话顶部的一个抽象,用于捕获错误并保存到其他地方)或更低级别的层(实现隐藏连接详细信息的IDriver)中执行此操作

两者都很复杂。更好的选择是使用支持复制的数据库(SqlServer就是一个例子),始终使用本地数据库,并让复制引擎处理同步


当然,这还增加了冲突管理的问题(不管怎样,这在所有模式中都会发生)

同意迭戈的观点,这超出了NH的范围。之后,可以使用命令模式更新修改请求,并将每个请求排队到可信任队列(例如MSMQ)中,并在该队列的末尾执行实际的数据库更新。当客户端应用程序不在网络中时,队列保留在连接恢复后立即刷新的修改。

同意Diego的意见,这超出了NH的范围。之后,可以使用命令模式更新修改请求,并将每个请求排队到可信任队列(例如MSMQ)中,并在该队列的末尾执行实际的数据库更新。当客户端应用程序脱离网络时,队列保留在连接恢复时刷新的修改。

MS Syncronization Framework呢。我可以在nhibernate中使用它吗?MS Syncronization框架呢。我能用它和nhibernate一起吗?