繁体   English   中英

EF 核心 - 为没有连接字符串和另一个类库中的数据库创建迁移

[英]EF core - Creating a migration for a database without a connection string and in another class library

我想为与使用它的项目不同的类库中的第二个和后续数据库创建迁移。 有皱纹。 我永远不会知道连接字符串,直到用户登录并且我可以从目录数据库 (saas) 中获取它。

对于目录数据库,我使用了这个站点的解决方案。 很好 - 这个数据库在 appsettings.json 中有它的连接字符串,并且可以使用依赖注入。

客户端数据库都将使用相同的迁移完全相同。 我的问题是,我不知道如何从包管理器控制台创建这个初始迁移..

我确实尝试运行这个:

dotnet ef migrations add INITIAL --context APIcontext -s ../Jobsledger.API

它给了我以下错误:

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

我所期望的。

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

..并且鉴于此迁移将由要创建的每个用户数据库使用,我该如何创建它,当然如何使用它?

我确实在这里回答了类似的问题。

您可以实现IDesignTimeDbContextFactory ,在其中实例化没有连接字符串的 DbContext。

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

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

dotnet ef migrations script --context MyDbContext --output migrations.sql --project "./MyApp.Data" --startup-project "./MyApp.Data"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM