В моем приложении ASP. NET Core 3.1 я начал использовать идентификацию для аутентификации. Я понял, что у меня есть два класса ApplebyContext
(контекст моей базы данных) и ApplicationDbContext
(наследует IdentityDbContext
). Я не хочу разделять файлы для этого, и после некоторого поиска я обнаружил, что обычно просто объединить их вместе.
Имея это в виду, я пытался сделать это, но я получаю ошибки , У меня был мой код DBContext, который выглядел следующим образом:
using Appleby.Data;
using Microsoft.EntityFrameworkCore;
namespace Appleby.Repo
{
public class ApplebyContext : DbContext
{
public ApplebyContext(DbContextOptions<ApplebyContext> options)
: base(options)
{
}
public DbSet<Products> Products { get; set; }
public DbSet<Contact> Contacts { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
}
У меня также был мой ApplicationDbContext
(который я настроил в другом проекте во время реализации идентичности), который выглядит так:
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using WebApplication1.Models;
namespace WebApplication1.Data
{
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
}
Из того, что я увидел, все, что мне нужно сделать, это указать, что мой ApplebyContext
унаследует IdentityDbContext
, поэтому я объединил код следующим образом:
using Appleby.Data;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.EntityFrameworkCore;
namespace Appleby.Repo
{
public class ApplebyContext : IdentityDbContext<ApplicationUser>
{
public ApplebyContext(DbContextOptions<ApplebyContext> options)
: base(options)
{
}
public DbSet<Products> Products { get; set; }
public DbSet<Contact> Contacts { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
}
Однако я получить сообщение об ошибке options
в public ApplebyContext(DbContextOptions<ApplebyContext> options) : base(options)
из:
Тип «Appleby.Repo.ApplebyContext» нельзя использовать в качестве параметра типа «TContext» в типе или методе generi c. DbContextOptions. Не существует неявного преобразования ссылок из «Appleby.Repo.ApplebyContext» в «Microsoft.EntityFrameworkCore.DbContext».
Кто-нибудь может помочь? Возможно, я пропустил ссылку или неправильно ее настроил?