如何控制迁移中上下文的名称?
How to control the name of the context in a migration?
我跟随 a blog 来到了我应该为我的应用程序的身份模型创建迁移的地方。它向 运行 明确说明以下两个命令。
dotnet ef migrations add InitialIdentityServerMigration -c PersistedGrantDbContext
dotnet ef migrations add InitialIdentityServerMigration -c ConfigurationDbContext
我很自然地喜欢对事物进行自我调整,因此我不得不将迁移和上下文称为我编造的东西。虽然迁移的名称是任意的,但我发现上下文的名称不是。这让我很吃惊。
显然,使用 PersistedGrantDbContext 的派生(例如 PersistedGrants)会产生以下错误。
No DbContext named 'PersistedGrants' was found.
我很好奇这个名字在哪里被硬编码,并在解决方案中到处寻找。但是,在任何地方都找不到该字符串的踪迹,我对它的来源感到困惑。实际上,我不需要更改它。但是我还是想知道如果我愿意的话。
我看到在 the official docs 中提到了 IDS4。但是,令我感到困惑的是,我无法在任何地方找到它反映在我的解决方案中。
我在哪里可以找到那个字符串,我错过了什么?
创建迁移时,您需要指定 DbContext 的名称,以便将当前模型与其最新快照进行比较,并将差异反映在迁移中。
No DbContext named 'PersistedGrants' was found.
该字符串不在 IDS4 库中。 It's logged by EF and defined here
IdentityServer 将存储分为两部分:配置 (ConfigurationDbContext
) 和操作数据 (PersistentGrantDbContext
)。
您可以在 IdentityServer.EntityFramework.Storage
程序集中找到它们。
至于文档,介绍页面有很好的记录,但除此之外没有太多内容。源代码注释得很好,是一个更好的信息来源。
更多信息
我跟随 a blog 来到了我应该为我的应用程序的身份模型创建迁移的地方。它向 运行 明确说明以下两个命令。
dotnet ef migrations add InitialIdentityServerMigration -c PersistedGrantDbContext
dotnet ef migrations add InitialIdentityServerMigration -c ConfigurationDbContext
我很自然地喜欢对事物进行自我调整,因此我不得不将迁移和上下文称为我编造的东西。虽然迁移的名称是任意的,但我发现上下文的名称不是。这让我很吃惊。
显然,使用 PersistedGrantDbContext 的派生(例如 PersistedGrants)会产生以下错误。
No DbContext named 'PersistedGrants' was found.
我很好奇这个名字在哪里被硬编码,并在解决方案中到处寻找。但是,在任何地方都找不到该字符串的踪迹,我对它的来源感到困惑。实际上,我不需要更改它。但是我还是想知道如果我愿意的话。
我看到在 the official docs 中提到了 IDS4。但是,令我感到困惑的是,我无法在任何地方找到它反映在我的解决方案中。
我在哪里可以找到那个字符串,我错过了什么?
创建迁移时,您需要指定 DbContext 的名称,以便将当前模型与其最新快照进行比较,并将差异反映在迁移中。
No DbContext named 'PersistedGrants' was found.
该字符串不在 IDS4 库中。 It's logged by EF and defined here
IdentityServer 将存储分为两部分:配置 (ConfigurationDbContext
) 和操作数据 (PersistentGrantDbContext
)。
您可以在 IdentityServer.EntityFramework.Storage
程序集中找到它们。
至于文档,介绍页面有很好的记录,但除此之外没有太多内容。源代码注释得很好,是一个更好的信息来源。