更新实体(实体框架6)中的集合.网络核心)

本文关键字:实体 集合 网络 核心 框架 更新 | 更新日期: 2023-09-27 18:11:38

我有两个模型:

public class Customer : People
  {
     public int CustomerID { get; set; }
     public decimal? Weight { get; set; }
     public decimal? Height { get; set; }
     public ICollection<Purchase> Cart { get; set; } 
  }

public class Purchase
  {
     public int PurchaseID { get; set; }
     public DateTime Time { get; set; }
     public decimal TotalPrice { get; set; }
     public int Amount { get; set; }
     public Good Good { get; set; }
   }

我已经有一个客户,需要更新他的购物车(例如,将史密斯添加到其中)。

我试过这样做,但这毫无效果。我做错了什么?

Customer customer = new Customer()
      {
        CustomerID = currentID.Value                   
      };
var cart = new List<Purchase>();
      cart.Add(new Purchase()
      {
        Amount = 1,
        Good = good,
        Time = DateTime.Now,
        TotalPrice = good.Price    
      });                                                                                
      customer.Cart = cart;
      var entry = _context.Entry(customer);
      _context.Update(customer);
      _context.SaveChanges();
更新:

我试着做建议的事情,但是…我生命中有什么不明白的?当我尝试更新时的上下文与当我尝试查看更新的Customer

更新实体(实体框架6)中的集合.网络核心)

时的上下文

当您尝试更新您的实体时。这就是我所遵循的方法。

 context.Entry(customer).State = System.Data.EntityState.Modified;
 context.ChangeTracker.DetectChanges();
 context.SaveChanges();