ReferenceLoopHandling.Ignore не работает в WebApi Global.asax

У меня есть конечная точка 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;

Однако я все еще получаю ошибку; любые идеи, как решить проблему?