Я создал класс AppUser, который наследуется от Microsoft.AspNet.Identity.EntityFramework, выглядит как приведенный ниже код, но базовые свойства IdentityUser не видны, если я не переопределю их? Разве общедоступные виртуальные поля IdentityUser не должны быть доступны через наследование через класс AppUser?
Это происходит в «классовом» проекте, вывод - это DLL, предназначенная для .Net 4.6.2, и я думаю, что у меня есть все необходимые пакеты. Я могу использовать класс AppUser; создавать пользователей, создавать роли, добавлять пользователей в роли и т. д. Просто не могу понять, почему поведение наследования, кажется, работает иначе, чем в других моих проектах?
public class AppUser : IdentityUser
{
// why do I need to override these to get access to them
public override string Id { get => base.Id; set => base.Id = value; }
public override string Email { get => base.Email; set => base.Email = value; }
public override string UserName { get => base.UserName; set => base.UserName = value; }
public override string PasswordHash { get => base.PasswordHash; set => base.PasswordHash = value; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime CreateDate { get; set; }
}