nHibernate同步两个数据库

时间:2013-10-02 16:38:12

标签: c# database nhibernate synchronize

我有两个在不同服务器上具有相同结构的数据库,并且必须双向同步它们。在数据库1中需要发送数据库2中的销售信息需要从条目中发送信息。我需要与nhibernate进行同步,因为系统可以用于任何数据库:postgreSQL,mysql,oracle,sqlserver等。

制作此应用程序的最佳策略是什么?

1 个答案:

答案 0 :(得分:0)

好像你需要弄清楚一些事情:

  1. 为需要同步的两个数据库启动会话工厂
  2. 识别需要同步的对象
  3. 使用合并命令
  4. 同步它们

    ISession.Merge()

      
        
    • 如果当前存在具有相同标识符的持久性实例    与会话相关联,将给定对象的状态复制到    持久化实例
    •   
    • 如果当前没有与之关联的持久性实例    session,尝试从数据库加载它,或者创建一个新的持久化    实例
    •   
    • 返回持久化实例
    •   
    • 给定的实例不会与会话相关联,它    保持独立
    •   

    我们在数据库之间存档数据时实际上做了类似的事情。对你来说最棘手的部分可能是确定同步需要什么。