Вы могли бы хотеть посмотреть linuxfromscratch.
Linux с нуля (LFS) является проектом, который предоставляет Вам постепенные инструкции для создания Вашей собственной системы Linux, полностью от исходного кода.
Кажется что в иерархии объектов есть циклические ссылки, которые не поддерживаются сериализатором JSON. Вам нужны все столбцы? Вы можете выбрать в представлении только те свойства, которые вам нужны:
return Json(new
{
PropertyINeed1 = data.PropertyINeed1,
PropertyINeed2 = data.PropertyINeed2
});
Это сделает ваш JSON-объект более легким и понятным. Если у вас много свойств, AutoMapper можно использовать для автоматического сопоставления между объектами DTO и объектами просмотра.
JSON, как и xml и различные другие форматы, представляет собой древовидный формат сериализации. Вам не понравится, если у вас есть круговые ссылки в ваших объектах, как "дерево":
root B => child A => parent B => child A => parent B => ...
Часто есть способы отключить навигацию по определенному пути; например, с помощью XmlSerializer
вы можете пометить родительское свойство как XmlIgnore
. Я не знаю, возможно ли это с рассматриваемым сериализатором json, а также есть ли у DatabaseColumn
подходящие маркеры ( очень маловероятно, поскольку потребуется ссылка на каждый API сериализации)