【问题标题】:Entity Framework 5 multiple databasesEntity Framework 5 多数据库
【发布时间】:2013-05-17 18:06:33
【问题描述】:
我对开发技术 ASP.NET MVC + Entity Framework 4 5 (DataBase First) 完全陌生。我遇到了一个问题,即使经过数小时的研究,我也没有找到解决方案。
我的应用需要每个客户端都有自己的数据库,登录后会选择。
为每个碱基创建一个映射 (edmx)?我必须更改 DbContext 或连接字符串持续执行?
我不知道从哪里开始。
我可以为每个数据库创建一个映射(edmx)并在运行时更改 DbContext 或连接字符串吗?
谢谢大家。
【问题讨论】:
标签:
asp.net-mvc
entity-framework
frameworks
【解决方案1】:
当您创建 DbContext 时,您可以在 web.config 中传入连接字符串的名称:
var db = new MyDbContext("NameOfConnectionStringInWebConfig");
【解决方案2】:
您可以传递连接字符串名称,或 Db 连接详细信息 (SqlConnection)
如果您有一个在运行时添加 DB 的多 DB 概念,则 DB Connection 方法很有用,因为 App.config 没有连接名称。
您当然可以将连接名称添加到 app.config,或者尝试 DB 连接方法。
当你谈到迁移主题时,让它工作起来很有趣。
public class MyDbContext : DbContext
//ctor
public MyDbContext(string connectionName) : base(connectionName){ }
public MyDbContext(DbConnection dbConnection, bool contextOwnsConnection)
: base(dbConnection, contextOwnsConnection) { }