Коллекция обновлений в Entity Framework в отключенном состоянии - PullRequest
0 голосов
/ 28 мая 2020
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

...