EF Core 销售车中的多对多唯一键关系问题

EF Core many to many unique key relation problem in sales cart

我想创建购物车模型。

所以我创建了 3 个表:Cart、Items、CartItems

public class Cart
{
    public int Id { get; set; }
    public IList<CartItems> CartItems{ get; set; }
}

public class Item
{
    public int Id { get; set; }
    public IList<CartItems> CartItems{ get; set; }
}

public class CartItems
{
    public int CartId { get; set; }
    public Cart Cart { get; set; }

    public int ItemId { get; set; }
    public Item Item { get; set; }
}

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<CartItems>().HasKey(x => new { x.CartId, x.ItemId });
}

就像在每个购物车中一样,1 个购物车中可能有多个相同的商品,或者 2 个或更多购物车中有相同的商品。

但是我无法将两个相同的商品放入购物车,因为唯一的密钥,所以出了点问题..有人可以指导我应该怎么做吗?

在 CartItems 中创建新的“ID”table 并将此 ID 设置为主键。以及 re-update 你的 dbcontext 和模型。