Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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# IdentityServer4.存储-没有索赔模型_C#_Entity Framework_Asp.net Core_Identityserver4 - Fatal编程技术网

C# IdentityServer4.存储-没有索赔模型

C# IdentityServer4.存储-没有索赔模型,c#,entity-framework,asp.net-core,identityserver4,C#,Entity Framework,Asp.net Core,Identityserver4,我使用下面的解决方案为Identity Server 4创建管理员管理。 但我有一些问题如下- 如何将现有的DBcontext(ConfigurationDbContext)用于 迁移并将其用于凝乳操作。至于在MVC核心中创建视图,我们需要一个模型类 在上面的解决方案中,我们没有索赔模型-那么如何创建 以DB为单位的表格。我们需要创建自己的DBcontext 如果我们打算使用Asp.net Identity Core进行用户管理,那么 用户声明和中存在的声明之间的关系是什么 ID4 我们是否需要

我使用下面的解决方案为Identity Server 4创建管理员管理。 但我有一些问题如下-

  • 如何将现有的DBcontext(ConfigurationDbContext)用于 迁移并将其用于凝乳操作。至于在MVC核心中创建视图,我们需要一个模型类
  • 在上面的解决方案中,我们没有索赔模型-那么如何创建 以DB为单位的表格。我们需要创建自己的DBcontext
  • 如果我们打算使用Asp.net Identity Core进行用户管理,那么 用户声明和中存在的声明之间的关系是什么 ID4
  • 我们是否需要在上述解决方案中创建自己的DB上下文,并执行以下操作 移民
  • 请建议一些教程-我是新手。我已经访问了官方网站,但没有发现任何与管理相关的东西。 我已经编写了一些代码来创建迁移,如下所示

     public class DbContextStorage : DbContext
    {
        public DbContextStorage(DbContextOptions<DbContextStorage> options) : base(options)
        {
    
        }
        //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        //{
        //    optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["IdentityServerDatabase"].ConnectionString);
        //}
        public virtual DbSet<ApiResource> ApiResource { get; set; }
        public virtual DbSet<AuthorizationCode> AuthorizationCode { get; set; }
        public virtual DbSet<Client> Clients { get; set;  }
        public virtual DbSet<Consent> Consents { get; set; }
        public virtual DbSet<IdentityResource> IdentityResource { get; set; }
    
        public virtual DbSet<PersistedGrant> PersistedGrant { get; set; }
    
        public virtual DbSet<RefreshToken> RefreshToken { get; set; }
        public virtual DbSet<Resource> Resource { get; set; }
        public virtual DbSet<Resources> Resources { get; set; }
        public virtual DbSet<Scope> Scope { get; set; }
    
        public virtual DbSet<Secret> Secret { get; set; }
    
        public virtual DbSet<Token> Token { get; set; }
    
    }
    
    公共类DbContextStorage:DbContext { 公共DbContextStorage(DbContextOptions选项):基本(选项) { } //配置时受保护的覆盖无效(DBContextOptions Builder Options Builder) //{ //optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionString[“IdentityServerDatabase”].ConnectionString); //} 公共虚拟数据库集资源{get;set;} 公共虚拟数据库集授权代码{get;set;} 公共虚拟数据库集客户端{get;set;} 公共虚拟数据库集同意{get;set;} 公共虚拟数据库集标识资源{get;set;} 公共虚拟数据库集PersistedGrant{get;set;} 公共虚拟数据库集刷新令牌{get;set;} 公共虚拟数据库集资源{get;set;} 公共虚拟数据库集资源{get;set;} 公共虚拟数据库集作用域{get;set;} 公共虚拟数据库集机密{get;set;} 公共虚拟数据库集令牌{get;set;} } 得到以下例外:

    添加迁移初始值

    System.InvalidOperationException: No suitable constructor found for entity type 'Claim'. The following parameters could not be bound to properties of the entity: 'reader', 'reader', 'subject', 'type', 'value', 'type', 'value', 'valueType', 'type', 'value', 'valueType', 'issuer', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'subject', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'subject', 'propertyKey', 'propertyValue', 'other', 'other', 'subject'.
       at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConstructorBindingConvention.Apply(InternalModelBuilder modelBuilder)
       at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelBuilt(InternalModelBuilder modelBuilder)
       at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, IModelValidator validator)
       at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
       at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
       at System.Lazy`1.CreateValue()
       at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()
       at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, ServiceProviderEngineScope scope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProviderEngineScope scope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
       at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
       at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
       at Microsoft.EntityFrameworkCore.Internal.InternalAccessorExtensions.GetService[TService](IInfrastructure`1 accessor)
       at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func`1 factory)
       at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)
       at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType)
       at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
       at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_1.<.ctor>b__0()
       at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
       at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
    No suitable constructor found for entity type 'Claim'. The following parameters could not be bound to properties of the entity: 'reader', 'reader', 'subject', 'type', 'value', 'type', 'value', 'valueType', 'type', 'value', 'valueType', 'issuer', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'subject', 'type', 'value', 'valueType', 'issuer', 'originalIssuer', 'subject', 'propertyKey', 'propertyValue', 'other', 'other', 'subject'.
    
    System.InvalidOperationException:找不到适用于实体类型“Claim”的构造函数。以下参数无法绑定到实体的属性:“reader”、“reader”、“subject”、“type”、“value”、“type”、“value”、“valueType”、“type”、“value”、“valueType”、“issuer”、“type”、“value”、“valueType”、“issuer”、“originalIssuer”、“type”、“value”、“valueType”、“issuer”、“originalIssuer”、“subject”、“type”、“value”、“valueType”,‘发行人’、‘原始发行人’、‘主体’、‘财产价值’、‘其他’、‘其他’、‘主体’。
    位于Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConstructorBindingConvention.Apply(InternalModelBuilder modelBuilder)
    在Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelBuilt(InternalModelBuilder modelBuilder)中
    位于Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext上下文、IConventionSetBuilder约定SetBuilder、IModelValidator验证器)
    在System.Lazy`1.ViaFactory(LazyThreadSafetyMode模式)
    位于System.Lazy`1.ExecutionAndPublication(LazyHelper ExecutionAndPublication,布尔useDefaultConstructor)
    在System.Lazy`1.CreateValue()处
    在Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()中
    在Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()中
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite FactoryCallSite,ServiceProviderEngineScope作用域)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite,Target参数)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite ScopedCallSite,ServiceProviderEngineScope范围)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite,Target参数)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite ConstructorCallSite,ServiceProviderEngineScope作用域)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite,Target参数)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite ScopedCallSite,ServiceProviderEngineScope范围)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(IServiceCallSite callSite,Target参数)
    在Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.c__DisplayClass1_0.b__0(ServiceProviderEngineScope作用域)
    在Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(输入serviceType,ServiceProviderEngineScope ServiceProviderEngineScope)
    位于Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(类型serviceType)
    位于Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider提供程序,键入serviceType)
    位于Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider提供程序)
    在Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()中
    在Microsoft.EntityFrameworkCore.DbContext.get\u InternalServiceProvider()中
    位于Microsoft.EntityFrameworkCore.Internal.InternalAccessorExtensions.GetService[TService](IInfrastructure`1访问器)
    位于Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func`1工厂)
    位于Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(字符串contextType)
    位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(字符串名称、字符串输出目录、字符串上下文类型)
    位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(字符串名称、字符串输出目录、字符串上下文类型)
    在Micr