私はデータベースに顧客とユーザーの2つのエンティティを持ち、それらの間に1対多の関係を構築するので、1人の顧客 - >多数のユーザーです。Entity Frameworkモデルで1対多の関係を正しく定義する方法はありますか?
これは私の顧客のモデルである:
public class Customer
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public ICollection<User> Users { get; set; }
}
正しいUserモデルであるもの、私は顧客の財産とCustomerIdのプロパティまたはちょうどのCustomerIdに意味ですか?だから、この:
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public Customer Customer { get; set; }
[ForeignKey("Customer")]
public int CustomerId { get; set; }
}
..またはこれ?:
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[ForeignKey("Customer")]
public int CustomerId { get; set; }
}
あなたは関係[ここ](https://docs.microsoft.com/en-us/ef/core/modeling/relationships) – JohnyL
について読むことができます。質問は、「正しい」単一の方法がないため、意見ベースです1対多の関係を表します。示されているモデルに加えて、モデルなしのコレクション・ナビゲーション・プロパティ、明示的なFKプロパティおよびその他の組み合わせがあります。 –
いくつかのオプションが利用可能であるという理由だけでは、意見に基づいた質問にはなりません。異なるバリアントの長所と短所を明確に説明できるためです。 (あなたがナビゲートできるかできないか) –