Как добавить/обновить дочерние объекты при обновлении родительского объекта в EFC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить/обновить дочерние объекты при обновлении родительского объекта в EF

Сообщение Anonymous »

Две сущности являются отношениями от одного ко многим (построенный кодом первого беглого API). < /p>

Код: Выделить всё

public class Parent
{
public Parent()
{
this.Children = new List();
}

public int Id { get; set; }

public virtual ICollection Children { get; set; }
}

public class Child
{
public int Id { get; set; }

public int ParentId { get; set; }

public string Data { get; set; }
}
< /code>

В моем контроллере Webapi у меня есть действия по созданию родительского объекта (который работает нормально) и обновления родительского объекта (у которого есть некоторая проблема). Действие обновления выглядит так: < /p>

public void Update(UpdateParentModel model)
{
//what should be done here?
}
< /code>

В настоящее время у меня есть две идеи: < /p>

[list]
[*]  Получить отслеживаемый родительский объект с именем существующего < /code> by model.id < /code> и присваивайте значения в модели < /code> One By One to test. Это звучит глупо. И в model.children 
Я не знаю, какой ребенок является новым, какой ребенок изменен (или даже удален).
[*] Создать новую родительскую сущность через модель , и прикрепил его к dbcontext и сохранить. Но как DBContext может знать состояние детей (новое добавление/удаление/модифицировано)?
[/list]

Какой правильный способ реализации этой функции?>

Подробнее здесь: https://stackoverflow.com/questions/271 ... tity-in-ef
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»