Как сопоставить JSON из банка в Dapper, используя словарь C #?

0

У меня есть база данных MySQL, и у меня есть столбец JSON, который хранит элементы следующим образом:

[{"key":"value"},{"key2","value2"},...}

Как я могу справиться с этим и загрузить в словарь С#? Я получаю преобразование ошибок из строки в словарь

Пример модели:

public class Person
{
  string name;
  Dictionary<string, string> itens;
}
Теги:
dapper
dictionary

3 ответа

0

Вы должны создать пользовательский обработчик. Я написал подробные статьи по этому вопросу.

Образцы также доступны на GitHub:

https://github.com/yorek/dapper-samples

Я использовал SQL Server как RDBMS, но все должно быть применимо, как к MySQL

0
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);
0

Вам нужно сначала выбрать его. Dapper не поддерживает это из коробки. Затем вы можете использовать Newtonsoft.JSON(NuGet-Package) и использовать его десериализатор следующим образом:

myPerson.itens = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

Ссылка: https://www.newtonsoft.com/json/help/html/DeserializeDictionary.htm

  • 0
    Как это будет выглядеть в запросе Даппера?
  • 0
    Вы должны сначала прочитать json из базы данных, а затем десериализовать, как показано, Марк Гравел утверждает: stackoverflow.com/questions/49888334/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню