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

Posted

技术标签:

【中文标题】销售车中的 EF Core 多对多唯一键关系问题【英文标题】:EF Core many to many unique key relation problem in sales cart 【发布时间】:2020-08-05 18:48:25 【问题描述】:

我想创建购物车模型。

所以我创建了 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 );

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

但是我不能将两个相同的项目输入购物车,因为唯一的密钥,所以出了点问题.. 有人可以指导 mw 应该如何制作吗?

【问题讨论】:

【参考方案1】:

在 CartItems 表中创建新的“ID”并将此 ID 设置为主键。并重新更新您的 dbcontext 和模型。

【讨论】:

以上是关于销售车中的 EF Core 多对多唯一键关系问题的主要内容,如果未能解决你的问题,请参考以下文章

EF Core中通过Fluent API配置多对多关系

EF Core中通过Fluent API配置多对多关系

EF Core中通过Fluent API配置多对多关系

EF Core中通过Fluent API配置多对多关系

EF Core 5.0 中的多对多关系是不是可以配置为仅保留一个导航属性(在一侧)?

EF Core 多对多关系