Я пытаюсь получить файл JSON в базу данных SQL Server с ключами автоматической идентификации и корректным отношением внешнего ключа.Все работает великолепно, за исключением массива строк.Данные выглядят более или менее так:
{
"id" : "123",
"name" : "Some Stuff",
"phrase" : "More Stuff",
"type" : "ABC",
"label" : "Some label",
"responseType" : "The Response Type",
"answers" : [ "9" ]
}
Часть «ответы» вызывает у меня приступы.Похоже, это почти исключительно одно значение, но потенциально оно может иметь несколько значений, таких как
"answers" : [ "6", "7", "8" ]
Теперь я знаю, что List не поддерживается в EF для нативных типов, таких как string или int.В конечном счете, я бы предпочел иметь отдельную таблицу для списка значений ответов, которую я называю DataAnswers.
public partial class Response
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ResponseId { get; set; }
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
public string Id { get; set; }
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
public string Name { get; set; }
[JsonProperty("phrase", NullValueHandling = NullValueHandling.Ignore)]
public string Phrase { get; set; }
[JsonProperty("type", NullValueHandling = NullValueHandling.Ignore)]
public string Type { get; set; }
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
public string Label { get; set; }
[JsonProperty("responseType", NullValueHandling = NullValueHandling.Ignore)]
public string ResponseType { get; set; }
[JsonProperty("answers", NullValueHandling = NullValueHandling.Ignore)]
public virtual List<DataAnswer> DataAnswers { get; set; }
}
public partial class DataAnswer
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DataAnswerId { get; set; }
public string AnswerText { get; set; }
}
В настоящее время я получаю сообщение об ошибке.
Newtonsoft.Json.JsonSerializationException: «Ошибка преобразования значения« 9 »в тип« ForeseeDemo.Data.DataAnswer ».Path 'items [0] .responses [0] .answers [0]', строка 60, позиция 23. '
Любые отличные идеи о том, как получить список строк ответов в таблицу свнешний ключ к ответу?
Заранее спасибо!