如果我有一个Parent对象,其中包含对Child表的外键引用,并且我将Child添加到Parent,我是否需要分别在孩子和父对象上调用Context.Add()?还是只是父母?
鉴于:
Parent.childobj=child;//foreign key reference set to the child object
此:
mycontext.Add(Child);
mycontext.Add(Parent);
或
mycontext.Add(Parent);
答案 0 :(得分:0)
如果两个实体都已经存在,并且您想将子代与父代相关联,并且上下文也跟踪了父代实体,那么更新FK属性就足够了。
Parent.ChildId=child.Id;
context.SaveChanges();
现在,如果Child
是一个新实体,并且父级已经存在并且已被上下文跟踪,则使用reference属性将两者关联:
Parent.childobj=child; // You can also do this if both exist already in your DB
context.SaveChanges();
如果两者都是新的,则将父级添加到上下文中,这还将保留相关的子级:
Parent.childobj=child;
context.Parent.Add(parent);
context.SaveChanges();