Модели MVC 4 со многими ко многим выдают ошибку Граф объекта для типа содержит циклы и не может быть сериализован

Я использую шаблон одностраничного приложения в MVC 4. Шаблон создал следующее:

    public partial class SSOController : DbDataController<Softdocs.SSOWeb.SSOContext>
{

    public IQueryable<Softdocs.SSOWeb.Models.User> GetUsers() {
        return DbContext.Users.Include("Groups").OrderBy(u => u.UseName);
    }
    . . . 
}

Я добавил «.Include («Группы»)», чтобы заполнить коллекцию, представляющую m2m между группами и пользователями. Это привело к получению следующей ошибки на клиенте

Object graph for type contains cycles and cannot be serialized if reference tracking is disabled

Похоже, это давняя проблема, которую можно решить в WCF, украсив метод [CyclicReferencesAware(true)] или [DataContract(IsReference = true)].

Будем очень признательны за любые идеи о том, как решить эту проблему с помощью DdDataController (ASP.Net Web Api).


person cResults    schedule 20.03.2012    source источник
comment
Основываясь на дальнейших исследованиях, я рассматриваю возможность реализации JSON.Net через средство форматирования веб-API. Будет ли это относиться к DdDataController, от которого зависит Upshot.js?   -  person cResults    schedule 20.03.2012
comment
Я попробовал это с JSON.Net - в блоге hanselmans есть сообщение: Пока не повезло. Они говорят там о форматировании даты, но материал JSON.net также должен был решить проблему сериализации. К сожалению, не для меня.   -  person Obiwan007    schedule 21.03.2012


Ответы (1)


У меня была похожая проблема, по-видимому, это общая проблема в бета-версии WebApi, о которой знает Microsoft. сообщение на форуме о похожей проблеме

person Anish Patel    schedule 27.03.2012