我有一个包含相关实体集合的实体。
我创建了一个具有相同键的新实体和新的相关实体(集合)。
我已将 ned 相关实体添加到主实体的集合中,现在我想将所有内容保存到数据库中。
我找到了旧实体,它是集合并分离了所有东西。比我附加的新实体和 foreach 循环 - 集合中的所有相关实体。
当我提交时 - context.SaveChanges() 我得到 OptimisticCuncurrencyException 存储更新、插入或删除语句影响了意外的行数 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。
有任何想法吗 ?
代码:
var old = (from c in context.Category.Include("Products").Where(x => (x.CatID== CatID) select c).FirstOrDefault();
if (old != null)
{
context.Detach(old);
foreach (Product stwp in old.Products)
{
context.Product.Detach(stwp);
}
}
context.Category.Attach(st);
context.ObjectStateManager.ChangeObjectState(st, System.Data.EntityState.Modified);
foreach (Product stwp in st.Products)
{
context.Product.Attach(stwp);
context.ObjectStateManager.ChangeObjectState(stwp, System.Data.EntityState.Modified);
}
context.SaveChanges();