2013-05-17 151 views
0

我完全不熟悉开发技术ASP.NET MVC +实体框架4 5(DataBase First)。我遇到了一个问题,即使经过数小时的研究,我仍未找到解决方案。实体框架5多个数据库

在我的应用程序需要每个客户端都有自己的数据库,这将在登录后选择。

为每个基底创建一个映射(edmx)?我必须更改DbContext或连接字符串持续执行?

我不知道从哪里开始。 我可以为每个数据库创建映射(edmx),并在运行时更改DbContext或连接字符串吗?

谢谢大家。

+0

可能重复的[通行证连接字符串代码优先的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。 –

回答

0

当你创建你的DbContext你可以通过在你的web.config的ConnectionString的名称:

var db = new MyDbContext("NameOfConnectionStringInWebConfig"); 
0

可以传递一个连接字符串名称,或数据库连接信息(的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) { } 
相关问题