我完全不熟悉开发技术ASP.NET MVC +实体框架4 5(DataBase First)。我遇到了一个问题,即使经过数小时的研究,我仍未找到解决方案。实体框架5多个数据库
在我的应用程序需要每个客户端都有自己的数据库,这将在登录后选择。
为每个基底创建一个映射(edmx)?我必须更改DbContext或连接字符串持续执行?
我不知道从哪里开始。 我可以为每个数据库创建映射(edmx),并在运行时更改DbContext或连接字符串吗?
谢谢大家。
我完全不熟悉开发技术ASP.NET MVC +实体框架4 5(DataBase First)。我遇到了一个问题,即使经过数小时的研究,我仍未找到解决方案。实体框架5多个数据库
在我的应用程序需要每个客户端都有自己的数据库,这将在登录后选择。
为每个基底创建一个映射(edmx)?我必须更改DbContext或连接字符串持续执行?
我不知道从哪里开始。 我可以为每个数据库创建映射(edmx),并在运行时更改DbContext或连接字符串吗?
谢谢大家。
当你创建你的DbContext你可以通过在你的web.config的ConnectionString的名称:
var db = new MyDbContext("NameOfConnectionStringInWebConfig");
可以传递一个连接字符串名称,或数据库连接信息(的SqlConnection) 如果您有一个多数据库概念,在运行时添加数据库,因为App.config没有连接名称,所以数据库连接方法很有用。
您当然可以将连接名称添加到app.config,或尝试使用数据库连接方法。 当你到达迁移主题时,它会变得有趣。的
public class MyDbContext : DbContext
//ctor
public MyDbContext(string connectionName) : base(connectionName){ }
public MyDbContext(DbConnection dbConnection, bool contextOwnsConnection)
: base(dbConnection, contextOwnsConnection) { }
可能重复的[通行证连接字符串代码优先的DbContext](http://stackoverflow.com/questions/4805094/pass-connection-string-to-code-first-dbcontext)。或http://stackoverflow.com/q/7599455/861716。或http://stackoverflow.com/q/12284291/861716。 –