如何在运行时使用EF 4.1代码优先配置数据库连接
本文关键字:代码 数据库连接 配置 EF 运行时 | 更新日期: 2023-09-27 18:03:10
我正在尝试使用EF 4.1与Code First POCO对象对遗留数据库。我有许多类似的数据库都具有相同的模式,我需要决定在运行时连接到哪一个。
我所见过的所有示例都显示将连接字符串放在App.config或Web.config中。这对我不起作用,因为我需要动态行为。
我可以操纵什么对象/属性来控制DbContext的DB设置?
DBContext有一个接受DbConnection实例的构造函数,您可以使用适当的工厂类启动该实例。
我在我的一个应用程序中做过这样的事情:
_context = new MyDbContext(
new SqlConnectionFactory(Properties.Settings.Default.MyConnectionString)
.CreateConnection("DatabaseName"));
所以我可以在运行时读取连接字符串并将其传递给SqlConnectionFactory
类,这会给我一个新的连接。
我不确定在这种情况下是否使用了"DatabaseName"参数,因为它无论如何都在连接字符串中。为了确定,我已经确保它们是相同的