Ошибка CS1503 Аргумент 1: невозможно преобразовать из «Microsoft.EntityFrameworkCore.DbContextOptions» в «Microsoft.EntityFrameworkCore.DbContextOptions»
Согласно этой информации об ошибке, я полагаю, ваш класс IdentityContext
имеет конструктор, который принимает параметр DbContextOptions<IdentityContext> options
, как показано ниже:
public class IdentityContext : IdentityDbContext<ApplicationUser, ApplicationRole, int>
{
public IdentityContext(DbContextOptions<IdentityContext> options) : base(options)
{ }
// ...
}
Так что он жалуется, если вы вызываете base(options)
в производном контексте:
public partial class MyDbContext : IdentityContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
{ }
}
Как решить
Измените конструктор вашего IdentityContext
, чтобы получить DbContextOptions options
и сделайте конструктор из MyDbContext
, чтобы принять DbContextOptions<MyDbContext> options
:
public class IdentityContext : IdentityDbContext<ApplicationUser, ApplicationRole, int>
{
public IdentityContext(<b>DbContextOptions options</b>) : base(options)
{
}
}
public partial class MyDbContext : IdentityContext
{
public MyDbContext(<b>DbContextOptions<MyDbContext> options</b>) : base(options)
{ }
}
Как примечание, вы добавляете службы идентификации с ролью ApplicationBlogRole
вместо ApplicationRole
:
services.AddIdentity<ApplicationUser, ApplicationBlogRole>() // it might cause problems in future.
Может быть, это должно быть:
services.AddIdentity<ApplicationUser, ApplicationRole>()