我对开发技术 ASP.NET MVC + Entity Framework 4 5 (DataBase First) 完全陌生。我遇到了一个问题,即使经过数小时的研究,我也没有找到解决方案。
在我的应用程序中,需要每个客户端都有自己的数据库,登录后将选择该数据库。
为每个基地创建一个映射(edmx)?我必须更改 DbContext 或连接字符串持续执行吗?
我不知道从哪里开始。我可以为每个数据库创建一个映射 (edmx) 并在运行时更改 DbContext 或连接字符串吗?
谢谢大家。
我对开发技术 ASP.NET MVC + Entity Framework 4 5 (DataBase First) 完全陌生。我遇到了一个问题,即使经过数小时的研究,我也没有找到解决方案。
在我的应用程序中,需要每个客户端都有自己的数据库,登录后将选择该数据库。
为每个基地创建一个映射(edmx)?我必须更改 DbContext 或连接字符串持续执行吗?
我不知道从哪里开始。我可以为每个数据库创建一个映射 (edmx) 并在运行时更改 DbContext 或连接字符串吗?
谢谢大家。
您可以传递连接字符串名称或数据库连接详细信息 (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) { }
创建 DbContext 时,您只需在 web.config 中传入连接字符串的名称:
var db = new MyDbContext("NameOfConnectionStringInWebConfig");