我们是否需要Customer的属性以及Order模型类中的CustomerId属性?

时间:2011-02-07 04:11:10

标签: entity-framework database-design

我对Entity Framework和基于数据的应用程序非常陌生。

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的属性?”

1 个答案:

答案 0 :(得分:2)

不,你没有。 Customer类中的Order对象足以识别客户ID。此外,您可能需要Customer类中的订单集合,以便您知道客户有多少订单,如下所示: -

public class Customer {
  private Long customerId;
  private String name;
  private Set<Order> orders = new HashSet<Order>();

  // ... getters/setters 
}

public class Order {
  private Long orderId;
  private Customer customer;

  // ... getters/setters
}

因此,如果您想从订单中检索客户ID,您将执行以下操作: -

order.getCustomer().getCustomerId();