无法解析"无法为'OpenIddictEntityFrameworkCoreApplication'创建 DbSet",因为此类型未包含在上下文的模型中。



我正在使用OpenIddict库的授权代码流,我得到了一个">InvalidOperationException";并带有以下消息:">无法为"OpenIddictEntityFrameworkCoreApplication"创建DbSet,因为此类型未包含在上下文的模型中";消息尝试运行应用程序时抛出此消息。

错误消息

我在网上找到了一些解决方案,尽管没有一个能够解决我的问题。

这是我的启动配置和DbContext。我使用的是ASPNet Core 6中的默认身份模型。

程序.cs

builder.Services.AddOpenIddict()
// Register the OpenIddict core components.
.AddCore(options =>
{
// Configure OpenIddict to use the Entity Framework Core stores and models.
// Note: call ReplaceDefaultEntities() to replace the default entities.
options.UseEntityFrameworkCore()
.UseDbContext<ApplicationDbContext>();
})
// Register the OpenIddict server components.
.AddServer(options =>
{
// Enable the client credentials flow.
options.AllowClientCredentialsFlow();
// Enable the authorization code flow.
options.AllowAuthorizationCodeFlow().RequireProofKeyForCodeExchange();
// Enable the token endpoint.
options.SetAuthorizationEndpointUris("/connect/authorize")
.SetTokenEndpointUris("/connect/token");
// Register the signing and encryption credentials.
options.AddDevelopmentEncryptionCertificate()
.AddDevelopmentSigningCertificate();
// Register scopes (permissions)
options.RegisterScopes("api");
// Register the ASP.NET Core host and configure the ASP.NET Core options.
options.UseAspNetCore()
.EnableTokenEndpointPassthrough()
.EnableAuthorizationEndpointPassthrough();
})
// Register the OpenIddict validation components.
.AddValidation(options =>
{
// Import the configuration from the local OpenIddict server instance.
options.UseLocalServer();
// Register the ASP.NET Core host.
options.UseAspNetCore();
});

ApplicationDbContext.cs

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options): base(options) {   }

我还没有找到我收到这个问题的原因。任何帮助都会很棒。谢谢

问题出现在我的启动配置中。我发现了对以下方法的2个调用,比如…

builder.Services.AddDbContext<ApplicationDbContext>(options => 
options.UseSqlServer(connectionString));
builder.Services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(connectionString);
options.UseOpenIddict();
});

我删除了第一个方法调用,异常就消失了。

相关内容

  • 没有找到相关文章

最新更新