在带有 EF7 的 ASP.NET5.0 中添加连接字符串以使用 dll 存储库库(基于 EF6)

Posted

技术标签:

【中文标题】在带有 EF7 的 ASP.NET5.0 中添加连接字符串以使用 dll 存储库库(基于 EF6)【英文标题】:Add connectionstring in ASP.NET5.0 with EF7 for using dll repository library(based on EF6) 【发布时间】:2015-12-30 09:08:37 【问题描述】:

如果是EF7 DbContext,在asp.net 5.0项目中配置为:

services.AddEntityFramework()
.AddSqlServer()
.AddDbContext(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

如何为我引用的存储库中使用的 EF6 DbContext 配置连接字符串?

顺便说一句,在以前的项目中,只需要在 app.config 或 web.config 中添加在 EF6 DbContext 中使用的连接字符串名称的 connectionStrings 元素。 但是在asp.net 5.0项目的web.config中设置,就不行了。它将使用默认值(我认为它是由 EF7 进行的),如下所示:

"Data Source=.\\SQLEXPRESS;Initial Catalog=connectionStringName;Integrated Security=True;MultipleActiveResultSets=True

我可以在存储库配置文件中设置连接字符串,但这不是一个好主意,对吧?

【问题讨论】:

++ 以前,如果有项目需要引用这个库,只需要在项目的配置文件中添加connectionstring元素即可。但 ASP.NET5.0 项目则完全不同。我可以在startup.cs中添加ASP.NET5.0可以读取并且库可以使用的“connectionstring”吗? 这个库应该有一个类似上下文工厂的东西,它接受一个连接字符串作为参数。 xxx.config 文件只是注入外部依赖项的一种方式,但在多个项目中使用的库不应该规定这种高度特定的方法。 是的,你是对的。最后,我必须更改存储库中的 DbContext 构造函数,它现在可以工作了。非常感谢。关注docs.asp.net/en/latest/data/entity-framework-6.html 【参考方案1】:

最后,我必须更改存储库中的 DbContext 构造函数,它现在可以工作了。非常感谢。遵循 docs.asp.net/en/latest/data/entity-framework-6.html

【讨论】:

以上是关于在带有 EF7 的 ASP.NET5.0 中添加连接字符串以使用 dll 存储库库(基于 EF6)的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 'dnx 时出现'MissingMethodException'。 EF7 beta6 中的 ef 迁移添加

AddCors 在 asp.net 5.0 中不起作用。如何启用它?

使用 EF7 命令时,IHostingEnvironment.WebRootPath 为空

ASP.NET 5.0 - 如何启动并运行 CookieRequestCultureProvider

ASP.NET vNext EF7 dbContext 问题

从 ASP.NET Core 3.1 升级到 ASP.NET 5.0 后,User.Claims 为空