gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:46:03 29 4
gpt4 key购买 nike

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

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

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

我确实尝试运行这个:

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

它给了我以下错误:

No database provider has been configured for this DbContext.



我所期望的。

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

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

最佳答案

我确实回答过类似的问题 here .
您可以实现 IDesignTimeDbContextFactory在没有连接字符串的情况下实例化 DbContext 的地方。
对于不同的库,您可以使用 --project 和 --startup-project 参数。
这是我用来生成迁移脚本的示例:dotnet ef migrations script --context MyDbContext --output migrations.sql --project "./MyApp.Data" --startup-project "./MyApp.Data"

关于c# - EF 核心 - 为没有连接字符串和另一个类库中的数据库创建迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55980487/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com