Модель Child не обновляется при обновлении parent - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть эти модели:

public class GroupSetCollection {
    int Id { get; set; }
    string Name { get; set; }
    List<GroupSet> GroupSets { get; set; }
}

public class GroupSet {
    int Id { get; set; }
    string Name { get; set; }
    List<Group> Groups{ get; set; } 
}

Всякий раз, когда я обновляю GroupSetCollection, обновляются все свойства, кроме GroupSets. Когда я вручную вызываю обновление на GroupSet, оно выдает мне следующую ошибку.

Не удалось подключить объект типа «GroupSet», поскольку другой объект того же типа уже имеет такое же значение первичного ключа для дочернего элемента.

Ниже приведен метод, который я использую для обновления сущностей. Он не работает при обновлении GroupSet и отлично работает при обновлении GroupSetCollection.

public void UpdateGroupSetCollection(GroupSetVM groupSetCollection)
        {
            _GroupSetCollectionService.Update(VMToEntity(groupSetCollection));
            _GroupSet.Update(groupSetCollection.GroupSets);

        }

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Существует множество способов загрузки связанных сущностей, один из них - добавить слово virtual к связанной сущности.

Итак, ваш последний класс будет:

public class GroupSetCollection {
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual List<GroupSet> GroupSets { get; set; }
}

Вы также можете прочитать о Загрузка связанных объектов из официальной документации.

0 голосов
/ 05 сентября 2018

Спасибо @JesusPocoata за помощь в выяснении проблемы.

Я не установил List<GroupSet> на virtual, как только это было сделано, он работал отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...