我有两个相关的类,它们共享一个公共接口,并且都存储在同一个底层数据库表中。但是,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; }
}