У меня есть два связанных класса, которые имеют общий интерфейс и оба хранятся в одной и той же базовой таблице базы данных. Тем не менее, Entity Framework генерирует один общий класс, где мне действительно нужны два разных класса. Как это разрешить? Лучше ли использовать базовый класс, а не интерфейс? Как изменить модель EF, чтобы обеспечить отображение двух классов по одной таблице?
Изменить: свойство AccountType определяет тип класса; пользователя или группы.
Простой код:
public interface IAccount
{
string Name { get; set; }
AccountType AccountType { get; set; }
}
public class GroupAccount : IAccount
{
public string Name { get; set; }
public GroupType GroupType { get; set; }
public AccountType AccountType { get; set; }
}
public class UserAccount : IAccount
{
public string Username { get; set; }
public string Password { get; set; }
public string Name { get; set; }
public AccountType AccountType { get; set; }
}