我有一个EntityFramework代码第一个项目,其中两个对象宽度为关系。
代码示例:
public class A{
public int ID{get;set;}
public B b{get;set;}
}
当我打电话时:
_context.A.Attach(a);
_context.Entry(a).State = EntityState.Modified;
_context.SaveChanges();
我成功更新了A,但我在表B中获得了新记录。
我如何避免这种情况,以便在我更新A时也更新B而不是创建新的?
答案 0 :(得分:0)
我不会以这种方式处理分离的上下文 - 它容易出错 - 但附加上下文中类似事物的解决方案是Include
:
using (var context = new Context())
{
context.A.Include(a => a.B).Attach(a);
context.Entry(a).State = EntityState.Modified;
context.SaveChanges();
}