【问题标题】:Using EF with different read and write db servers将 EF 与不同的读写数据库服务器一起使用
【发布时间】:2012-04-21 10:49:39
【问题描述】:

我正在考虑将实体框架用于一个项目。我试图了解如何配置 EF 以使用配置有读取服务器和写入服务器的数据库环境。 写入服务器的所有更新都将复制到读取服务器。

我的问题是:

  1. 是否需要为两种环境生成不同的数据模型?

  2. 我可以重复使用相同的数据模型吗?

  3. EF 本身是否有内置的东西可以实现这一点?

谢谢

【问题讨论】:

  • 我假设写服务器也应该读,还是你总是只写新数据?无论如何,如果涉及到 CRUD 操作,EF 将是一个不错的选择。阅读的最佳选择很大程度上取决于各种细节。比如:是否有不同的数据库(不同的方案),有哪些层?

标签: entity-framework database-design entity-framework-4


【解决方案1】:

您可以重复使用相同的模型,因为您可以使用任何您喜欢的连接字符串来实例化 ObjectContext。 AFAIK,您甚至可以稍后关闭连接,因此您可以使用具有相同 EntityContext 的两个不同服务器连接。

【讨论】:

    【解决方案2】:
    1. 如果数据模型相同,则不。
    2. 由于#1 为否,#2 自动为是。
    3. EF 只需要你传递一个不同的连接字符串

    不过……

    我不确定您打算如何完成这项工作。您将几乎失去 ORM 的好处,您无法进行更改跟踪,并且您将遇到很多无法从写入模型中读取的问题。

    坦率地说,我不确定如何使用任何 ORM 进行这项工作。

    【讨论】:

    • 也许 ORM 不是解决问题的正确方法。这是我试图确定的事情之一。鉴于有一个写入服务器和多个读取服务器,对我来说使用 EntLib 或者只是滚动我自己的数据访问层可能更有意义。我正在查看 EF,看看我是否可以避免编写 REST 服务,并且只需在 EF 代码之上使用 OData 来向 Web 客户端公开所需的操作。感谢您的意见和回答。
    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2012-04-26
    • 2011-12-06
    • 2014-07-24
    • 2014-10-02
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多