共通のインターフェイスを共有し、両方とも同じ基礎となるデータベース テーブルに格納されている 2 つの関連するクラスがあります。ただし、Entity Framework は 1 つの共通クラスを生成します。この 2 つの異なるクラスが本当に必要です。これを解決するにはどうすればよいですか? インターフェイスではなく基本クラスを使用するのが最善ですか? 1 つのテーブルにマップされた 2 つのクラスを提供するように 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; }
}