.net core 更新数据库的实体框架连接字符串

.net core 更新数据库的实体框架连接字符串,.net-core,entity-framework-core,.net Core,Entity Framework Core,我不知道如何处理EF和NetCore中的连接字符串 我有一个带有EntityFrameworkCore 3.1.7的解决方案和两个项目: WebApp.csproj ShraedLibrary.csproj - appsettings.json 所有数据连接内容都在ShraedLibrary中,我在这里有以下构造函数: public DatabaseContext (DbContextOptions<DatabaseContext> options, ILoggerProvi

我不知道如何处理EF和NetCore中的连接字符串

我有一个带有
EntityFrameworkCore 3.1.7
的解决方案和两个项目:

WebApp.csproj
ShraedLibrary.csproj
   - appsettings.json
所有数据连接内容都在
ShraedLibrary
中,我在这里有以下构造函数:

public DatabaseContext (DbContextOptions<DatabaseContext> options, ILoggerProvider loggerProvider)
公共数据库上下文(DbContextOptions选项,ILoggerProvider loggerProvider) 这很好,但我无法使用appsettings.json中的连接字符串更新数据库,因为没有无参数构造函数

当我在无参数构造函数中硬编码连接字符串时,它就会工作

正确的做法是什么

[编辑]


不要在
更新数据库中使用
-Project
解决了问题。

您可能需要创建


EntityFramework核心迁移是通过运行代码来实现的,如果这是不可能的(就像您在共享库中的情况一样),那么您需要提供有关如何创建DbContext的更多信息。为此,您可以使用此
IDesignTimeDbContextFactory
工厂。

为什么不能运行我的代码?在图书馆有什么不同我现在将检查IDesignTimeDbContextFactory。谢谢!:)您的库无权访问应用程序的启动,您已在其中配置了DbContext(在
ConfigureServices(…)
方法中)。因此,它不知道从哪里获取连接字符串。为什么它不能?如果我更新数据库-StartupProject WebApp-Project SharedLibrary
,它不应该工作吗?您是如何在服务中配置EF的?您可以尝试使用CLI而不是PMC吗。还有,它会给您带来什么错误?我发现,您不需要执行
-Project
,而只需要执行
-StartupProject
。你的回答为我指明了正确的方向,谢谢!