database - 不同 Entity Framework 模型的相同连接字符串?

标签 database asp.net-mvc-3 entity-framework

我从使用 EF 的 MVC3 应用程序开始。我们有一个包含 > 200 个表的数据库。我正在使用 DBFirst 方法。

我的想法是为应用程序中的不同区域创建一个 EFModel,而不是将整个数据库架构放入一个大模型中。我现在遇到了一个问题,每个模型似乎都想要一个自己的连接字符串。我还没有成功地更改为只有一个通用的连接字符串。那不应该吗?我在想它在后台是同一个数据库所以......

还是我完全离开了这里?我应该将所有表格拖到一个大模型中吗?还是接受我将获得大量连接字符串这一事实?

有什么见解吗?

最佳答案

您不能为多个 EDMX 模型使用一个 EF 连接字符串,因为 EDMX metadata is part of the EF connection string .

这对您来说应该不是问题,除了所有这些连接字符串都包含一个嵌入式数据库连接字符串,您可能想在一个地方而不是 5 个地方更改它。您可以 ,但是,在运行时使用 EntityConnectionStringBuilder 更新数据库连接字符串部分.因此,您可以为数据库连接使用“常规”(非 EF)连接字符串,然后在创建上下文时使用 EntityConnectionStringBuilder 将其替换为 EF 连接字符串。

在我的脑海中,代码看起来像这样:

var dbCS = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;
var model1CS = ConfigurationManager.ConnectionStrings["Model1ConnectionString"].ConnectionString;
var ecsb = new EntityConnectionStringBuilder(model1CS);
ecsb.ProviderConnectionString = dbCS;

return new Model1Entities(ecsb.ToString());

关于database - 不同 Entity Framework 模型的相同连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719056/

相关文章:

c# - MVC 成员资格问题 - C#、EntityFramework

c# - 将 .Net Membership Provider 与 Entity Framework 4.3 迁移结合使用

c# - DbContext SaveChanges() - 检测更新的实体

c# - Entity Framework 6 错误服务器版本 : (System. Data.SqlClient.SqlConnection)customerOrderContext.Database.Connection).ServerVersion

c# - 使用 Entity Framework Core 调用标量函数的最佳实践 (2.1)

PHP fatal error : Call to a member function diff() on a non-object in. .. 比较数据库中的日期时间

php - 如何在文本区域中将数据库中的 <br/> 显示为 HTML 而不是文本?

c# - 在 ASP.NET MVC 3 中生成独立于 Controller 的 URL

javascript - 是什么导致我的 Access 数据库如此缓慢?

database - 如何在oracle中选择最后一次出现的重复记录