私はコンタクトインフォメーションストラクチャのモデリングに取り組んでおり、リレーションシップをEFコアでどのようにコーディングするかをあまり理解していません。私は、データアクセス層にEFを使用することにかなり新しいです。Asp Core複数のエンティティリレーションシップ
ウェブサイト、電話番号、メールアドレス、または社会情報を含むことができる連絡先モデルが必要です。連絡先情報がいくつかの異なるモデルに追加されます。任意の提案が役立つだろう、私はどのように多くのテーブルの関係で多くのこの1つをコードするか、またはEFを使用しても可能であるかどうかわからない。
モデルこれまで
public class Contact
{
public String Id { get; set; }
public Int32 ContactType { get; set; } //Enum for Website, Phonenumbers, Emails, or Social
public String RecId { get; set; } //FK to multiple Models
public String RecType { get; set; }//Value for which model the RecID is for
public String Name { get; set; }
public String Value { get; set; }
}
public class ContactInfo
{
public virtual IList<Contact> Website { get; set; }
public virtual IList<Contact> PhoneNumbers { get; set; }
public virtual IList<Contact> Emails { get; set; }
public virtual IList<Contact> Socials { get; set; }
}
//Example of models to use the contact model
public class Company
{
....
pubic ContactInfo ContactInfo { get; set;}
}
public class Client
{
....
pubic ContactInfo ContactInfo { get; set;}
}
。そうですか? ContactInfoテーブルはすでに1対多の関係にあるため、削除する必要があります。私はそれのためのコードサンプルを与えることができることを教えてください。 – DSR
それは正しいです、それは素晴らしいでしょう。 –
EFコア2.0に入っている所有エンティティタイプを使用してマップするのは非常に簡単です – Smit