EF (Core): измененная сущность с добавленными отношениями - PullRequest
0 голосов
/ 28 января 2019

Предполагая, что у меня есть объект, который имеет переход от одного ко многим к другому объекту.Например:

public class Person {

    public int Id {get; set;}
    public String Name {get; set;}
    public ICollection<PhoneNumber> PhoneNumbers {get; set;}
    ...
}
public class PhoneNumber {
   public int Id {get; set;}
   public String number {get; set;}
   public int PersonId {get; set;}
   public Person PersonNavigation {get; set;}
}

Если я хочу обновить имя человека и одновременно добавить несколько номеров к номеру телефона этого человека или удалить несколько номеров, например:

Person person = db.Set<Person>().SingleOrDefault(x=> x.Id == 1);
person.Name = "James";
deleteOneNumber = person.PhoneNumbers.FirstOrDefault(x=> x.number == "555");
person.PhoneNumbers.Remove(deleteOneNumber);
foreach(var number in new String[] {"123","456"}){
   person.PhoneNumbers.Add(new PhoneNumber{ Number = i});
}

Как именно я должен определить для структуры, чтобы применить все изменения?В соответствии с документацией EF Core, метод Update изменит состояние всех объектов на Modified, тогда как Add изменит их на Added.В случае, если я использую здесь метод Modify, в отношении того факта, что вновь добавленные номера не существуют в базе данных, они не могут быть изменены.

Редактировать:

Предположим, что это отдельный сценарий.

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