【问题标题】:How to configure DB connection at run time with EF 4.1 Code First如何使用 EF 4.1 Code First 在运行时配置数据库连接
【发布时间】:2011-07-22 06:40:33
【问题描述】:

我正在尝试将 EF 4.1 与 Code First POCO 对象一起用于旧数据库。我有许多相似的数据库,它们都具有相同的架构,我需要决定在运行时连接到哪一个。

我见过的所有示例都将您的连接字符串放在 App.config 或 Web.config 中。这对我不起作用,因为我需要动态行为。

我可以操纵哪些对象/属性来控制我的 DbContext 的数据库设置?

【问题讨论】:

    标签: c# entity-framework ef-code-first


    【解决方案1】:

    DBContext 有一个接受 DbConnection 实例的构造函数,您可以使用适当的工厂类启动它。

    我在我的一个应用中做这种事情:

    _context = new MyDbContext(
        new SqlConnectionFactory(Properties.Settings.Default.MyConnectionString)
            .CreateConnection("DatabaseName"));
    

    所以我可以在运行时读取连接字符串并将其传递给SqlConnectionFactory 类,这将为我提供一个使用它的新连接。

    我不确定在这种情况下是否使用了“DatabaseName”参数,因为它无论如何都在连接字符串中。可以肯定的是,我已经确定它们是相同的。

    【讨论】:

    • 太棒了,这正是我需要的!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多