Циклическая ссылка была обнаружена при сериализации объекта типа 'SubSonic. Схема.DatabaseColumn'.

Вы могли бы хотеть посмотреть linuxfromscratch.

Linux с нуля (LFS) является проектом, который предоставляет Вам постепенные инструкции для создания Вашей собственной системы Linux, полностью от исходного кода.

166
задан Glauco Vinicius 21 February 2013 в 13:02
поделиться

2 ответа

Кажется что в иерархии объектов есть циклические ссылки, которые не поддерживаются сериализатором JSON. Вам нужны все столбцы? Вы можете выбрать в представлении только те свойства, которые вам нужны:

return Json(new 
{  
    PropertyINeed1 = data.PropertyINeed1,
    PropertyINeed2 = data.PropertyINeed2
});

Это сделает ваш JSON-объект более легким и понятным. Если у вас много свойств, AutoMapper можно использовать для автоматического сопоставления между объектами DTO и объектами просмотра.

173
ответ дан 23 November 2019 в 21:03
поделиться

JSON, как и xml и различные другие форматы, представляет собой древовидный формат сериализации. Вам не понравится, если у вас есть круговые ссылки в ваших объектах, как "дерево":

root B => child A => parent B => child A => parent B => ...

Часто есть способы отключить навигацию по определенному пути; например, с помощью XmlSerializer вы можете пометить родительское свойство как XmlIgnore . Я не знаю, возможно ли это с рассматриваемым сериализатором json, а также есть ли у DatabaseColumn подходящие маркеры ( очень маловероятно, поскольку потребуется ссылка на каждый API сериализации)

7
ответ дан 23 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: