“'ObjectContent`1'类型无法序列化内容类型'application / json的响应主体

时间:2013-04-17 15:31:24

标签: c# entity-framework linq odata

我有2个POCO课程 - Contact和TrainingSeminar - 使用EF5加入多对多关系

在Contacts 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中调试时,返回对象“研讨会”有两个项目,但我在Fiddler中收到以下错误:

  

“'ObjectContent`1'类型无法序列化内容类型'application / json ....”的响应正文消息“:”无法序列化空'feed'

1 个答案:

答案 0 :(得分:4)

从您的代码中,seminarsList<T>,因此是最后一行

return seminars as IQueryable<TrainingSeminar>;

始终为null,因为List<T>未实现IQueryable<T>。你应该使用,

return seminars.AsQueryable();

代替。