私はこのエンティティモデルを持っています:
Customer
エンティティが必要です。これは、Person
または のいずれかにOrganization
なります。両方にすることはできません。
今のところ、組織と個人の両方を指す顧客エンティティを思いつきましたが、null 可能なフィールド ( を意味するGuid?
) を持ちます。これは、 と との必須ではない関係を持つことを意味しPerson
ますOrganization
。何かのようなもの:
class Customer
{
public Guid ID { get; set; }
public Guid? RelatedPersonID { get; set; }
public Guid? RelatedOrganizationID { get; set; }
public int CustomerStatus { get; set; }
public bool IsVIP { get; set; }
// ... other customer related properties
public virtual Person RelatedPerson { get; set; }
public virtual Organization RelatedOrganization { get; set; }
}
私はエンティティ フレームワーク 5、codefirst アプローチを使用していますが、まだデータベースを作成していません。この要件を満たすより良いモデルがあるかどうか疑問に思っていました。