У меня есть база данных MySQL, и у меня есть столбец JSON, который хранит элементы следующим образом:
[{"key":"value"},{"key2","value2"},...}
Как я могу справиться с этим и загрузить в словарь С#? Я получаю преобразование ошибок из строки в словарь
Пример модели:
public class Person
{
string name;
Dictionary<string, string> itens;
}
Вы должны создать пользовательский обработчик. Я написал подробные статьи по этому вопросу.
Образцы также доступны на GitHub:
https://github.com/yorek/dapper-samples
Я использовал SQL Server как RDBMS, но все должно быть применимо, как к MySQL
Dictionary<string, string> dir = new Dictionary<string, string>();
string splitOn = "value";
dir = cnn.Query<string, string, KeyValuePair<string, string>>("YOUR_SP", (s, i) => new KeyValuePair<string, string>(s, i), null, null, false, splitOn, null, null)
.ToDictionary(kv => kv.Key, kv => kv.Value);
Вам нужно сначала выбрать его. Dapper не поддерживает это из коробки. Затем вы можете использовать Newtonsoft.JSON(NuGet-Package) и использовать его десериализатор следующим образом:
myPerson.itens = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
Ссылка: https://www.newtonsoft.com/json/help/html/DeserializeDictionary.htm