Попытка реализовать Identity в ASP. NET Core 3.1. Возникают некоторые проблемы, заставляющие меня думать об этом.
Это мои настройки
У меня есть отдельные проекты
- WebPortal
- Portal.ApplicationCore
- Portal.Infrastructure
- Portal.Domain
В Portal.Domain я наследую модели идентичности
public class AppRole : IdentityRole<int>
{
[Required]
public int OrganizationID { get; set; }
[Required(ErrorMessage = "Display name is Required.")]
[MaxLength(100, ErrorMessage = "Please enter Display name less than 100 characters.")]
public string DisplayName { get; set; }
[ForeignKey("OrganizationID")]
public Organization Organization { get; set; }
}
public class AppUser : IdentityUser<int>
{
[Required]
public int OrganizationID { get; set; }
[ForeignKey("OrganizationID")]
public Organization Organization { get; set; }
}
В Portal.Infrastructure я реализовал DBContext
public class ApplicationDbContext : IdentityDbContext<AppUser, AppRole, int>
{
private IDbContextTransaction _transaction;
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Organization> Organizations { get; set; }
}
Наконец, в моем сообщении об ошибке Startup.cs -
Серьезность Код Описание Ошибка состояния подавления строки файла проекта CS0311 Тип «Portal.Infrastructure.DAL.DatabaseContext.ApplicationDbContext» нельзя использовать в качестве параметра типа «TContext» в типе generi c или методе «IdentityServerBuilderConfigurationExtensions.AddApiAuthorerBerver» ( ». Не существует неявного преобразования ссылок из 'Portal.Infrastructure.DAL.DatabaseContext.ApplicationDbContext' в 'IdentityServer4.EntityFramework.Interfaces.IPersistedGrantDbContext'.
Кто-нибудь может мне помочь?