У меня есть две сущности, Parent
и Child
, на стороне клиента я создаю Parent
, а затем вызываю context.submitChanges
На стороне сервера в InsertParent(Parent parent)
я делаю:
InsertParent(Parent parent)
{
Child child = this.ObjectContext.Childs.CreateObject();
parent.child = child;
if ((parent.EntityState != EntityState.Detached))
{
this.ObjectContext.ObjectStateManager.ChangeObjectState(parent, EntityState.Added);
}
else
{
this.ObjectContext.Parents.AddObject(parent);
}
}
Теперь у меня две проблемы.
До if if, Parent.id
равно 0 и после 0, но в базе данных оно заполнено.
Другой, Child
спасен, но Child.ParentId
равен 0.
Я не понимаю, почему.
Какой правильный способ достижения этого поведения? Должен ли я вызвать SaveChanges()
непосредственно в контексте?