2013-04-17 7 views
3

У меня есть 2 POCO классы - Контакты и TrainingSeminar - что присоединившихся в многие-ко-многим с помощью EF5Web ошибка API OData

В Контактах OData контроллер, я хочу, чтобы иметь возможность вернуть TrainingSeminars что контакт регистрируется для ... поэтому у меня есть следующий метод контроллера

public IQueryable<TrainingSeminar> GetTrainingSeminars([FromODataUri] int key) 
{ 
    var contact = _context.Contacts.Find(key); 
    var seminars = contact.TrainingSeminars.ToList(); 
    return seminars as IQueryable<TrainingSeminar>; 
} 

Когда я отладки в Visual Studio, то возврат объекта «семинары» имеет 2 пунктов, но я получаю следующее сообщение об ошибке в Скрипач: " Тип «ObjectContent`1» не смог сериализовать тело ответа для типа контента «application/json ....» message »:« Can not serialize null »feed '

Я был бы признателен за любые идеи, предложения

ответ

4

Из кода, seminars является List<T> и, следовательно, в последней строке

return seminars as IQueryable<TrainingSeminar>; 

всегда будет нулевой, как List<T> не реализует IQueryable<T>. Вы должны использовать,

return seminars.AsQueryable(); 

вместо этого.

Смежные вопросы