Как исправить с помощью JsonPatchDocument DTO с несколькими таблицами

Я использую ASP.Net Core. У меня есть DTO с 3 моделями таблиц из DB Scaffolding.

public class StudentDTO
{
   public int StudentId { get; set; }
   public Student StudentInfo { get; set; }
   public Address StudentAddressDetails { get; set; }
   public Extracurricular ExActivities { get; set; }
}

Я могу исправлять модели с помощью JsonPatchDocument с отдельным маршрутом, например следующим:

public async Task<IActionResult> PatchStudent(int studentId, [FromBody] JsonPatchDocument<Student> student)

public async Task<IActionResult> PatchStudentAddress(int studentId, [FromBody] JsonPatchDocument<Address> studentAddress)

public async Task<IActionResult> PatchExActivities(int studentId, [FromBody] JsonPatchDocument<ExtraCurricular> studentExActivities)

Я хотел бы установить патч непосредственно в StudentDTO. я пробовал с

public async Task<IActionResult> PatchStudentDetails(int studentId, [FromBody] JsonPatchDocument updateStudentInfo)
{
    StudentDTO student = await GetStudentInfo(int studentId);

    updateStudentInfo.ApplyTo(student.StudentInfo);
    updateStudentInfo.ApplyTo(student.StudentAddressDetails); //lin 2
    updateStudentInfo.ApplyTo(student.ExActivities); //line 3
}

Если я попытаюсь обновить StudentInfo, я получу segment not found или имя свойства, не найденное в двух других строках. Это имеет смысл. Как я могу реализовать этот сценарий с помощью JsonPatchDocument? или любой другой эффективный способ сделать это?

Заранее спасибо!


person user2782405    schedule 24.10.2020    source источник
comment
возможно, вы можете взглянуть на ссылку, указанную в ответе на этот вопрос SO stackoverflow.com/questions/55159208/   -  person akg179    schedule 25.10.2020
comment
@akg179: Спасибо, что поделились ссылкой! Несмотря на то, что это был другой сценарий, мне это помогло!   -  person user2782405    schedule 26.10.2020