如果是EF7的DbContext,在asp.net 5.0项目配置为:添加在ASP.NET5.0的ConnectionString与EF7使用DLL库库(基于EF6)
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
如何配置的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,但这并不是一个好主意,对不对?
++显然,如果任何项目需要引用此库,只需要在配置文件中添加connectionstring元素项目。但是ASP.NET5.0项目完全不同。我可以在startup.cs中添加“connectionstring”,ASP.NET5.0可以读取它并且库可以使用它吗? – Lucius
库应该有一个类似上下文工厂的东西,它将连接字符串作为参数。 xxx.config文件只是注入外部依赖项的一种方法,但是在多个项目中使用的库不应规定这种高度特定的方法。 –
是的,你是对的。最后,我必须更改存储库库中的DbContext构造函数,它现在可以工作。非常感谢。正在关注https://docs.asp.net/en/latest/data/entity-framework-6.html – Lucius