首页> C#>如何在运行时使用EF 4.1代码优先配置数据库连接
作者:互联网
我试图将EF 4.1与Code First POCO对象一起用于旧数据库.我有许多相似的数据库,它们都具有相同的架构,我需要确定在运行时要连接到哪个数据库.
我看到的所有示例都显示将您的连接字符串放入App.config或Web.config中.因为我需要动态行为,所以这对我不起作用.
我可以操纵哪些对象/属性来控制DbContext的数据库设置?
解决方法:
DBContext具有一个接受DbConnection实例的构造函数,您可以使用适当的工厂类启动该实例.
我在其中一个应用程序中执行以下操作:
_context = new MyDbContext(
new SqlConnectionFactory(Properties.Settings.Default.MyConnectionString)
.CreateConnection("DatabaseName"));
因此,我可以在运行时读取连接字符串并将其传递给SqlConnectionFactory类,这将为我提供一个使用该连接的新连接.
我不确定在这种情况下是否使用“ DatabaseName”参数,因为无论如何它都在连接字符串中.可以肯定的是,我已经确定它们是相同的.
标签:ef-code-first,c,entity-framework 来源: https://codeday.me/bug/20191208/2089234.html