.Net Core [FromBody] JArray для ICollection - PullRequest
0 голосов
/ 03 января 2019

Извинения в первую очередь; Я недавно перешел с PHP на .Net Core MVC:

Я использую привязку модели в методе контроллера и не могу получить одно из свойств, связанных с классом C #. Если я использую ICollection<> or IList<Attendee> AttendeeList, то весь «параметр» будет нулевым. При использовании «Dynamic AttendeeList» для типа данных я получаю объект params, где AttendeeList является «Dynamic {Newtonsoft.Json.Linq.JArray}», например,

AttendeeList {[
  "f650c4f8-b8df-44ef-b6a8-866de50af211",
  "10400a5c-3281-4edb-8103-b571d2265ebd"
]}  

Заголовок метода:

public async Task<JsonResult> Batch([FromBody] ScheduleEditParameters param)  {

ScheduleEditParameters прост:

public class ScheduleEditParameters
{
    public string Key { get; set; }
    public string Action { get; set; }
    public ScheduleData Value { get; set; }
}

ScheduleData это (сокращенно):

public class ScheduleData
{
    [Key]
    [Required]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Subject { get; set; }
    public bool AllDay { get; set; }
    public DateTime StartTime { get; set; }
    public dynamic AttendeeList { get; set; } // works, request contains dynamic Newtonsoft.Json.Linq.JArray
    //public ICollection<Attendee> AttendeeList { get; set; } // does not work
}

Посетитель выглядит так:

public class Attendee
{
    [Key]
    public int ScheduleDataId { get; set; }
    [Key]
    public  Guid AttendeeId { get; set; }
}

Я не совсем уверен, где моя ошибка. JArray, похоже, передается должным образом при использовании динамического, поэтому я предположил, что .Net может преобразовать это в список или коллекцию? Вопрос глупый, я уверен, но я застрял здесь ...

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