Я пытаюсь сгенерировать строку JSON в C# (. Net Core) из некоторых записей базы данных.
Схема данных плоская с категорией (строкой), идентификатором книги (целое число ) и название книги (строка).
Строки данных выглядят так:
Category BookId BookName
---------------------------------------
Mystery 1 My first book
Biography 2 My second book
Mystery 3 My third book
Crime 4 My fourth book
Romance 5 My fifth book
Biography 6 My sixth book
Mystery 7 My seventh book
Romance 8 My eight book
SciFi 9 My ninth book
Poetry 10 My tenth book
Я выполняю простой запрос SQL для извлечения записей (до 5000) в C# List
коллекция:
SELECT Category, BookId, BookName from Books
Я хочу сгенерировать строку JSON (желательно с использованием библиотеки Newtonsoft Json. Net) с книгами, сгруппированными по категориям, включая категорию и book-id в качестве ключей вложенных объектов:
{
"Mystery": {
"1": {
"Name": "My first book"
},
"3": {
"Name": "My third book"
},
"7": {
"Name": "My seventh book"
}
},
"Biography": {
"2": {
"Name": "My second book"
},
"6": {
"Name": "My sixth book"
}
},
"Crime": {
"4": {
"Name": "My fourth book"
}
}
:
:
}
Я пробовал Dictionary
и Lookup
(возможно, лучше, чем Dictionary из-за меньших накладных расходов с операциями ha sh), но я могу ' Я хочу заставить их сгенерировать формат, который мне нужен, в основном для прямого доступа на основе ключей в объекте JS.
Любые предложения по высокопроизводительному подходу приветствуются.