我在学校的课程和学生之间有多对多的关系。这是我的课程内容:

public class Course
{
    public Guid CourseId { get; set; }
    public string Name { get; set; }

    public ICollection<CourseStudent> Students { get; set; }
}

public class CourseStudent
{
    public Guid CourseId { get; set; }
    public Guid StudentId { get; set; }
}


我正在使用JsonPatch修补对象。我正在尝试将Students的集合添加到集合的末尾:

[
  {
    "op": "add",
    "path": "/Students/-",
    "value": [
       {
         "CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873",
         "StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
       }
     ]
  }
]


但是当我提交这个时,我得到一个例外:


  “ ClassName”:“ Microsoft.AspNetCore.JsonPatch.Exceptions.JsonPatchException”,
  
  “消息”:“值'[\ r \ n {\ r \ n \” CourseId \“:\” 07264DC9-9FEB-42E2-B1EF-08D58F58C873 \“,\ r \ n \” StudentId \“:\” FB6E6988-4A56-4CA4-86E2-E23090FAD98F \“ \ r \ n} \ r \ n]'对于目标位置无效。”,


根据Json Patch文档,该结构对我而言是正确的。知道为什么它不接受我的格式吗?

最佳答案

最终弄清楚了,格式应为:

[
  {
    "op": "add",
    "path": "/Students/-",
    "value":
       {
         "CourseId": "07264DC9-9FEB-42E2-B1EF-08D58F58C873",
         "StudentId": "FB6E6988-4A56-4CA4-86E2-E23090FAD98F"
       }
  }
]

07-25 21:02