【问题标题】:Entity Framework Self Tracking Entities - Synchronize between 2 databases实体框架自我跟踪实体 - 在 2 个数据库之间同步
【发布时间】:2012-02-06 16:32:53
【问题描述】:

我在实体框架 4 中使用自我跟踪实体。我有 2 个数据库,具有完全相同的架构。但是,一个数据库中的表将被添加/编辑等(我的意思是数据将被添加/编辑,而不是实际的表定义),并且在一天中的某些时候,我需要同步这个数据库和其他数据库。

我可以为它们创建一个单独的上下文。但是,如果我从一个数据库中读取一张大图,如何使用该图更新另一个数据库?有什么简单的方法吗?

我的数据库模型庞大而复杂,而且完全是关系型的。因此,遍历每一个实体并从另一个数据库中读取它是否存在,如果需要更新/插入它,然后通过完整的对象图继续执行,这将是一项艰巨的工作!

有什么想法吗?

【问题讨论】:

    标签: entity-framework self-tracking-entities


    【解决方案1】:

    这不是 EF 的用例。在 EF 中,您必须完全按照您的描述进行操作。自我跟踪实体能够跟踪对这些对象实例的更改——它们对随着时间的推移对自己的数据库所做的更改一无所知,而且它们也不知道您的第二个数据库的状态。

    尝试查看 SQL Server 原生功能(包括镜像、事务日志传送或 SSIS)和 MS Sync 框架。根据您的详细要求,这些工具可以更好地满足您的需求。

    【讨论】:

    • 不幸的是,我没有被束缚在单个数据库上,因为我需要满足运行 MySql 或 Sql Server 的企业的需求。但是我明白你的意思,它可能不是 EF 的用例。这通常会怎么做呢?我们将有一个总部类型的数据库,其中集中进行更改。然后在一天中的某个时间点,这些更改需要传播到业务中的任何数据库。
    • 即使是多种类型的数据库?即 Sql Server 和 MySql?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多