Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF core-在没有连接字符串的数据库和另一个类库中创建迁移_C#_Entity Framework_Entity Framework Core - Fatal编程技术网

C# EF core-在没有连接字符串的数据库和另一个类库中创建迁移

C# EF core-在没有连接字符串的数据库和另一个类库中创建迁移,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,我想为第二个和后续数据库创建迁移,这些数据库位于与使用它的项目不同的类库中。有一条皱纹。在用户登录并从目录数据库(saas)获取连接字符串之前,我永远不会知道连接字符串 对于目录数据库,我使用了来自站点的解决方案。这很好-该数据库的连接字符串位于appsettings.json中,可以使用依赖项注入 使用相同的迁移,客户机数据库将完全相同。我的问题是,我不知道如何从PackageManager控制台创建此初始迁移 我确实试过运行这个: dotnet ef migrations add INITI

我想为第二个和后续数据库创建迁移,这些数据库位于与使用它的项目不同的类库中。有一条皱纹。在用户登录并从目录数据库(saas)获取连接字符串之前,我永远不会知道连接字符串

对于目录数据库,我使用了来自站点的解决方案。这很好-该数据库的连接字符串位于appsettings.json中,可以使用依赖项注入

使用相同的迁移,客户机数据库将完全相同。我的问题是,我不知道如何从PackageManager控制台创建此初始迁移

我确实试过运行这个:

dotnet ef migrations add INITIAL --context APIcontext -s ../Jobsledger.API
这给了我以下的错误:

尚未为此DbContext配置任何数据库提供程序

这是我预料到的

考虑到在不同类库中运行迁移的CodingBlast解决方案(如上)需要一个我没有的连接,并且需要在启动时注册数据库连接


…考虑到每个要创建的用户数据库都将使用此迁移,我如何创建它,当然如何使用它?

我确实回答了类似的问题

您可以实现
IDesignTimeDbContextFactory
,在这里您可以实例化没有连接字符串的DbContext

对于不同的库,可以使用--project和--startup项目参数

下面是我用来生成迁移脚本的示例:

dotnet ef迁移脚本--context MyDbContext--output migrations.sql--project.“/MyApp.Data”--启动项目“/MyApp.Data”