Я хочу создать производный класс для моего объекта User, который имеет некоторые дополнительные свойства (класс LoginUser), но структура entity затем возвращает производный класс, когда я извлекаю пользователя из база данных. Это нежелательное .. Производный класс не имеет параметр меньше конструктора и должен быть создан только в качестве оболочки для входа в системе .. Так что я добавил к этому в onCreateModel:»Использовать сопоставления базового класса для производного класса - Entity Framework 5
modelBuilder.Ignore<LoginUser >();
Но теперь, когда я пытаюсь .? хранить или ссылаться на мой объект LoginUser он бросает исключение, сказав, что предприятие не имеет отображения (LoginUser) Как я могу сделать рамки сущности использовать отображения для базового класса
Это мои классы:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Role { get; set; }
}
public class LoginUser : User, IPrincipal
{
private IPrincipal underlayingPrincipal;
public IIdentity Identity
{
get
{
return this.underlayingPrincipal.Identity;
}
}
public LoginUser(IPrincipal principal, User user)
{
this.underlayingPrincipal = principal;
this.Id = user.Id;
this.Name = user.Name;
this.Role = user.Role;
}
public bool IsInRole(string role)
{
return this.Role == role;
}
}
я в конечном итоге делаю свойство типа User в моем элементе LoginUser и больше не расширять его. Благодарю. – Osd