Я создаю основное веб-приложение asp.net и пытаюсь создать интерфейс для моего контекста БД, чтобы использовать его на уровне логики своего бизнеса. Интерфейс сделан следующим образом:
public interface IAppDbContext
{
public DbSet<Country> Countries { get; set; }
public DbSet<City> Cities { get; set; }
Task<int> SaveChangesAsync(CancellationToken cancellationToken);
}
Реализация интерфейса выглядит следующим образом:
public class AppDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string> , IAppDbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
public DbSet<Country> Countries { get; set; }
public DbSet<City> Cities { get; set; }
}
Проблема заключается в том, что, когда я внедряю интерфейс, и я пытаюсь использовать _context.Users
это показывает ошибку:
'IAppDbContext' does not contain a definition for 'Users' and no accessible extension method 'Users' accepting a first argument of type 'IAppDbContext' could be found (are you missing a using directive or an assembly reference?).
Я понимаю, что в реализации _context.Users
исходит из родительского класса IdentityDbContext
, но как я могу также добавить его в интерфейс, чтобы я мог использовать его? Спасибо!