如何使动态edm模型支持odata查询

时间:2015-03-27 18:52:56

标签: c# asp.net-web-api odata asp.net-web-api2

我一直在尝试将https://github.com/OData/ODataSamples/tree/master/WebApi/v4/DynamicEdmModelCreation中的DynamicEdmModelCreation示例调整为可行的v3版本(我想将odata直接加载到excel中,但它还不支持odata v4)

我在控制台的get方法中添加了config.AddODataQueryFilter()[EnableQuery],但我现在收到了异常:

  

类型' System.Runtime.Serialization.SerializationException'的第一次机会异常。发生在System.Web.Http.OData.dll

中      

其他信息:' EnumerableQuery`1'无法使用ODataMediaTypeFormatter序列化。

https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/OData/src/System.Web.Http.OData/OData/Formatter/ODataMediaTypeFormatter.cs#L577

引发的

我的Controller的Get方法是否返回EdmEntityObjectCollection问题?我原本以为只需添加EnableQuery属性就足以让框架知道如何将该查询操作应用到我返回的EdmEntityObjectCollection(这将有比可能需要的更多的数据)< / p>

1 个答案:

答案 0 :(得分:4)

您所做的是对的,但OData WebApi现在不支持未键入方案中的查询选项,并且有关此功能的开放issue