我在 MVC 5 的新 Web API 上使用 OData 服务,但遇到了一些问题。
我已按照本教程开始开发 OData 服务,并且几乎一切正常。项目构建,路由工作,并且 URL 工作得很好。
我的一个类被调用Post
并具有类型Dictionary<string, object>
为 named的属性Parameters
,如下所示:
public partial class Post : IPost
{
public Guid Id { get; set; }
public string Author{ get; set; }
public string Content{ get; set; }
public DateTime PostedDate{ get; set; }
public List<Photo> Pictures { get; set; }
public Dictionary<string, object> Parameters { get; set; }
}
当我在浏览器中执行获取请求时,列出所有Post
对象 ( ) 的 URL 工作正常。http://localhost/odata/Posts
所有对象都已成功序列化。
但是在另一个应用程序中将 OData 元数据作为服务参考导入,当我获得Post
实体列表时,我收到以下错误:
Microsoft.Data.OData.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息:“WebApplication1.ServiceReference2.System.Collections.Generic.KeyValuePair_2OfString_Object”类型没有可设置的属性。
如何成功解决此问题以导入服务引用?