Извинения в первую очередь; Я недавно перешел с 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 может преобразовать это в список или коллекцию?
Вопрос глупый, я уверен, но я застрял здесь ...