2013-04-17 78 views
3

我有2个POCO类 - 联络方式和TrainingSeminar - 在加入了许多一对多的关系,使用EF5的Web 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 ....'消息的响应正文“:”无法序列化一个空'feed “

我将不胜感激任何意见,建议

回答

4

从你的代码,seminarsList<T>,因此最后一行

return seminars as IQueryable<TrainingSeminar>; 

将永远是空的List<T>没有实现IQueryable<T>。您应该使用,

return seminars.AsQueryable(); 

改为。