【问题标题】:Entity Framework connect to mutiple database at runtime实体框架在运行时连接到多个数据库
【发布时间】:2013-08-06 21:09:14
【问题描述】:



我想问一下我的设计是否合适。
背景:
我使用 EF4 开发我的 Web 应用程序。该应用程序将由三个办公室使用。三个办事处的业务流程彼此相似。每个办公室都有自己的数据库,但数据库中的大多数表、SPROC 都是相同的。
我的想法:
我想将相同的表和存储过程提取到单个 edmx文件,并在运行时根据登录用户将连接字符串指向数据库。

我在构造函数中添加了一个方法

MPREntities(string connectionString, string containerName)

并且会在初始化MPREntities时传递连接字符串和容器名称。 containerName 是相同的 - “MPREntities”,它不依赖于指向的数据库。在传入之前,connectionString 将根据登录用户进行更改。我已经做了一些测试,似乎它可以工作。但这是正常的做法吗?有什么建议吗?

【问题讨论】:

    标签: asp.net-mvc-3 c#-4.0 architecture entity-framework-4


    【解决方案1】:

    这种方法会起作用,并且是一个很好的用例。

    【讨论】:

    • 系统上个月上线。到目前为止,它运作良好。优点是不需要维护大量通过数据库生成的类似模型。缺点是我需要保持数据库不变。
    • 很高兴它有效,是的,保持数据库的一致性对于这种方法的有效性很重要,但是这可以被认为是优势而不是劣势。如果没有这个“强制因素”,您的数据库将随着时间的推移而趋于分歧。您还可以为每个数据库设置多个模型,因此如果您想简化差异,请将此模型用作您的“通用”模型,并使用另一个特定于数据库的“扩展”模型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 2013-09-21
    相关资源
    最近更新 更多