在带有 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