Сначала я использую код Ef 4 и имею родительскую таблицу с дочерним элементомКаков правильный способ обновления родительских/дочерних объектов в EF?
Когда я обновляю родительский элемент, я замечаю, что ребенок не обновляется, а новые записи создаются (старые не удаляются).
Моего метод обновление выглядит так:
IEFRepository<Parent> repo = new EFRepository<Parent>(context);
var parent = repo.GetSingle(m => m.parentId.Equals(updatedParent.parentId));
parent.Child = updatedParent.Child; //this is creating a new record in the db, not overwriting the existing
repo.Update(parent);
Если я вспыхиваю дочерние свойства в методе обновления, как показано ниже решает дубликат проблемы входа, но создает другие проблемы в других странах (в первую очередь с проверкой нулевых записей) ,
parent.Child.property = updatedParent.Child.property;
Я также попытался создания UpdateChild(), и вызов, что от UpdateParent(), но получил по существу тот же результат, как вспыхивают отдельные дочерние свойства
Есть правильный способ управлять этим поведением и заставить EF перезаписать дочерний объект вместо создания нового?
Можете ли вы дать более подробную информацию о том, какие именно изменения вы пытаетесь сделать? Из этого описания трудно следовать, по крайней мере, для меня. :) –