我是 Entity Framework Core 的新手。在我的购物车模型设计中,我在使用 Entity Framework Core 设计模型类时有点困惑。
我已将地址集合分配给用户模型,因为一个用户可以有多个送货地址。
在我的订单模型中,一个用户可以进行多个订单,因此我userID
在订单表中声明为外键cartID
(因为订单属于购物车)。
在我看来,在处理订单时,我的要求是用户应该能够从下拉列表中选择他方便的地址。
这些是我在项目中的模型类:
用户型号:
public class User
{
public int Id { get; set; }
public string userName { get; set; }
public string phone { get; set; }
public string email { get; set; }
public string password { get; set; }
public Cart cart { get; set; }
public ICollection<Address> Addresses { get; set; }
}
地址型号:
public class Address
{
public int Id { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string County { get; set;}
public string Eircode { get; set; }
public int UserId { get; set; }
public User user { get; set; }
}
订购型号:
公共类订单 { public int Id { 获取;放; } 公共 int CartID { 获取;放; } 公共购物车购物车 { 获取;放; }
public bool IsDelivered { get; set; }
public int UserId { get; set;}
public User User { get; set; }
}
推车型号:
public class Cart
{
public int Id { get; set; }
public int UserId { get; set; }
public User user { get; set;}
public ICollection<CartProduct> CartProducts { get; set;}
}
我的模型类的设计是否正确?
我应该ICollection<Order>
在User
模型中包含一个用户可以有多个订单吗?
我应该声明UserAddress
为一个单独的模型类来映射用户及其地址吗?
我的Cart
模型与用户(使用userid
)映射,因为每个用户都有自己的购物车,所以userID
在购物车和订单模型中重复(有什么方法可以消除这种依赖关系)还是正确的?