我正在创建一个简单的项目管理系统,它使用NHibernate进行对象存储。底层数据库是SQL express(至少目前用于开发)。
客户端可在台式机或笔记本电脑上运行。我知道我可以使用网络服务并仅将数据库存储在桌面上,但这会迫使桌面始终可用。
我目前正在考虑复制数据库,有两个“不同数据”的实例。为了澄清,我们不是在谈论一个有效的应用程序,它是一个原型。
实现这一目标的一种方法是以下过程:
我现在的问题是,你会如何同步?假设4或5种类型的对象都具有GUID作为标识符。您是否总是手动“延迟加载”某种类型的所有对象并将它们提供给数据库。如果客户端数据库可能更新且不同步,您是否总是删除整个桌面数据库?
同样,我想强调一下,我没有假设任何冲突或陈旧数据,我基本上只是想“从客户端复制整个数据库”。你会用NHibernate吗?或者你会分开复制过程吗?
当我考虑它时,我的问题归结为:
NHibernate是否有任何功能:
SyncDBs_SourceWins_(SourceDB,TargetDB)
感谢您的帮助, 克里斯