私はEntityFrameworkを初めて使用し、CodeFirstを実践しています。私の問題は、モデルクラスを作成していて、そのクラスを他の2つのクラスから継承したいということです。たとえば、従業員には、名、ミドルネーム、姓などの個人情報があります。住所、電話番号、電子メールなどの連絡先情報もあります。学生にもこれらのプロパティがあります。 。これらの情報を2つの異なるクラスに分けた理由は、会社、学校、病院、倉庫などの個人情報がなくても、別のエンティティが連絡先情報を持つことができるためです。
サンプルコード:
public class ContactInfo
{
public string Address { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
public class PersonalInfo
{
public string Firstname { get; set; }
public string Middlename { get; set; }
public string Lastname { get; set; }
}
public class Employee : // This should be inheriting from PersonalInfo and ContactInfo
{
public int EmployeeID { get; set; }
}
public class Supplier : ContactInfo // Inheriting from ContactInfo and no PersonalInfo
{
public int SupplierID { get; set; }
public string Name { get; set; }
}
私がやりたかったのは、次のようになるように、Employeeによって継承されるインターフェイス(IPersonalInfo、IContactInfo)を作成することです。
public class Employee : IPersonalInfo,IContactInfo
{
public int EmployeeID { get; set; }
}
これは良い習慣ですか?そうでない場合、この種のシナリオでどのように管理できますか?