0
私は、Entity Frameworkとデータベースのアプリケーションが新しくなりました。注文モデルクラスのCustomerIdのプロパティと共にCustomerのプロパティが必要ですか?
次のようにCustomer
データモデルクラスがあることしてみましょう:
public class Customer
{
public int CustomerId {get;set;}
public string Name {get;set;}
//others properties have been omitted for the sake of simplicity.
}
そしてOrder
データモデル:
public class Order
{
public int OrderId {get;set;}
public int CustomerId {get;set;}
public Customer Customer {get;set;}
// other properties have been omitted for the sake of simplicity.
}
私の質問は:「私たちは一緒にプロパティでCustomer
のプロパティが必要ですCustomerId
のOrder
モデルクラス?
「Order」クラスに 'Customer'プロパティを持っているか、' Order'クラスに 'CustomerId'プロパティを持っている方がよいでしょうか? – xport
どちらもほぼ同じですが、パフォーマンスの差はごくわずかです。さらに、 'Customer'クラスにすべての顧客関連情報をグループ化し、' Order'クラスに 'customerId'プロパティを設定することで、データカプセル化の感覚を失います。つまり、2つの場所に 'customerId'プロパティがあり、1日に 'customerId'値が変更された場合は、その場所全体で' customerId'値を変更する必要があります。 – limc
ありがとうございます。あなたの説明に+1。 – xport