我的模型如下:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public double Price { get; set; }
public ICollection<Category> Categories { get; set; }
}
类别模型如下:
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public ICollection<Product> Products { get; set; }
}
我想更新产品的条目。这是有效的,但如果我编辑没有类别的产品,我会收到错误。如何添加带或不带类别的新产品?
如何将包含多个类别的现有产品更新为无类别?
有人可以解释一下这方法是什么吗?
答案 0 :(得分:0)
也许试试这个。
这是要更新的产品。
//get your product
var product = context.Products.Include("Categories")
.First();
// remove categories for product
product.Categories.Clear();
//save changes
context.SaveChanges();
/* if that doesn't work try this alternate way to remove categories for product*/
var categories = product.Categories.ToList();
foreach (var c in categories)
product.Categories.Remove(c);
context.SaveChanges();
// To add a new product:
var product = new Product() { Name = "Cool product", Code = "4&meridians", price = 5.0 };
context.Products.Add(product);
context.SaveChanges();
要向新产品添加类别,请在SaveChanges调用之前执行此操作:
product.Categories.Add(new Category(){ Name = "cool category", Code = "rf7)425" });