class Parent
{
public int id;
public ICollection<Child> Children;
}
class Child
{
public int id;
public int childProperty1;
public decimal? childProperty2;
public string childProperty3;
public Parent parent;
}
Мой код для присоединения дочерней сущности к dbContext:
// Getting the DbContext
DatabaseContext dbContext = dbContextScope.DbContexts.Get<DatabaseContext>();
// Attaches the modified entity to context in disconnected architecture.
dbContext.Parent.Attach(this.parent);
dbContext.Entry(this.parent).State = EntityState.Modified;
this.parent.children.Select(s => dbContext.Entry(s).State = EntityState.Modified);
// SaveChanges
await dbContextScope.SaveChangesAsync().AnyContext();
Обновление: Добавлен этот фрагмент кода из .Select()
:
foreach(var childEntity in this.parent.Children)
{
dbContext.Child.Attach(childEntity);
dbContext.Entry(childEntry).State = EntityState.Modified;
}
Мой dbContext находится в отключенном состоянии. Мне нужно сохранить родительский класс и набор записей дочерних классов, в которых говорится, что 5 записей дочерних классов в базе данных. Как я могу этого добиться? Я прошел по этим ссылкам:
обновить отключенный объект в структуре сущностей
Обновление коллекции в EF
Хранение сложного отдельного графа объекта в EF6