0

我对开发技术 ASP.NET MVC + Entity Framework 4 5 (DataBase First) 完全陌生。我遇到了一个问题,即使经过数小时的研究,我也没有找到解决方案。

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

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

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

谢谢大家。

4

2 回答 2

0

您可以传递连接字符串名称或数据库连接详细信息 (SqlConnection) 如果您有一个在运行时添加数据库的多数据库概念,则数据库连接方法很有用,因为 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) { }
于 2013-05-19T13:45:59.710 回答
0

创建 DbContext 时,您只需在 web.config 中传入连接字符串的名称:

var db = new MyDbContext("NameOfConnectionStringInWebConfig");
于 2013-05-17T22:00:06.497 回答