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


  “'ObjectContent`1'类型未能序列化内容类型为'application / json ....”的响应正文。“”无法序列化空的'feed'

最佳答案

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

return seminars as IQueryable<TrainingSeminar>;


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

return seminars.AsQueryable();


代替。

09-30 21:33