【发布时间】:2020-09-08 04:14:17
【问题描述】:
我们正在使用 ASP.NET MVC 和 EF 6.2。 我们有订单和商品,我的同事建议采用这种方法。
public class Order
{
public int Id { get; set; }
public virtual ICollection<OrderItem> Items { get; set; }
}
public class Item
{
public int Id { get; set; }
}
public class OrderItem
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity), Column(Order = 0)]
public int Id { get; set; }
[Key, Column(Order = 1)]
public int OrderId { get; set; }
public Order Order { get; set;
public int ItemId { get; set; }
public virtual Item Item { get; set; }
public int Quantity { get; set; }
}
现在我们有一个复合键(Id 和 OrderId)来强制执行不变量。我不明白这一点,我认为我们可以在 OrderId (PK,FK) 和 ItemId(PK,FK) 上使用复合键来实现这一点。有人可以帮我解决这个问题吗?谢谢。
【问题讨论】:
标签: c# asp.net-mvc entity-framework domain-driven-design aggregation