У меня есть конечная точка api, которая возвращает ошибку цикла (поскольку она связывает класс соединения, который возвращается назад), например,
class a
{
virtual classab;
}
class ab
{
virtual classa;
virtual classb;
}
class b
{
virtual classab;
}
(грубый пример того, что происходит). В api GET мне нужно вернуть детали classb с точки зрения classa (и наоборот в classb get).
Когда я получу, я делаю следующее:
IQueryable<ClassA> results = _dbset
.Include(x => x.ClassAB)
.Include(x => x.ClassAB.Select(y => y.ClassB))
.AsExpandable()
.Where(predicate)
.OrderBy(x => x.ID);
Итак, я получаю ошибку self ref looping. Теперь в моем контексте DB я:
Configuration.ProxyCreationEnabled = false;
Configuration.LazyLoadingEnabled = false;
и в моем Global.asax
protected void Application_Start()
у меня есть:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
Однако я все еще получаю ошибку; любые идеи, как решить проблему?