【发布时间】:2014-07-15 22:49:18
【问题描述】:
我有一个程序,它有一个 .edmx 文件,并且在 app.config 中有三个连接字符串。
.edmx 表示的架构对于 3 个数据库是相同的:
- 生产
- 分期
- 发展
我想制作一个基本上可以做到这一点的方法(警告!伪代码传入)
foreach(var connectionString in connectionStrings) {
using (MyCustomDBEntities context = new MyCustomDBEntities(connectionString)) {
// Do cool things, like insert new records, update records, etc...
}
}
现在我的代码实际上是这样的,我没有看到另一个接受连接字符串的方法签名:
foreach(var connectionString in connectionStrings) {
using (MyCustomDBEntities context = new MyCustomDBEntities()) {
// Do cool things, like insert new records, update records, etc...
}
}
有没有办法让我在 using 块中的实体框架构造函数采用连接字符串?我现在正在使用 EF 6.1,但找不到方法。
此外,如果使用 Entity Framework 有更好的方法来做到这一点,我很乐意转换我的代码,尽管使用 Entity Framework 是必须。
如果您需要更多代码,请告诉我,我会更新任何内容。
【问题讨论】:
-
DbContext 有一个构造函数重载,它接受一个连接字符串 (msdn.microsoft.com/en-us/library/gg679467(v=vs.113).aspx)。我在你的问题中遗漏了什么吗?
-
我一定遗漏了一些东西,当我写我的 using 语句时,它正在使用 (MyDBEntities context = new MyDBEntities()) { //Code } 我找不到新的任何其他方法签名MyDBEntities() 接受任何东西。
标签: c# entity-framework edmx