我在WCF服务中使用EntityFrameworkDataService来公开odata端点上的数据库视图。下面是使用中的nuget软件包
.Net框架4.5
Microsoft.Data.Edm - v5.8.1
Microsoft.Data.Services - v5.8.1
Microsoft.Data.Odata - v5.8.1
Microsoft.Data.Services.Client - v5.8.1
Microsoft.Odata.EntityFrameworkProvider -v1.0.0-β2
我们最近迁移到SQL server 2016,其中一个Odata查询失败在
System.Data.Services.Providers.BasicExpandProvider.ExpandedEnumerator1.get_Current()\r\n at System.Data.Services.Serializers.EntitySerializer.WriteFeedElements(IExpandedResult expanded, QueryResultInfo elements, ResourceType expectedType, String title, Func1 getRelativeUri,Func`1‘1 getAbsoluteUri,Boolean )\r\n at System.Data.Services.Serializers.EntitySerializer.WriteTopLevelElements(IExpandedResult展开,QueryResultInfo元素)\r\n at System.Data.Services.Serializers.Serializer.WriteRequest(QueryResultInfo queryResults)\r\n在System.Data.Services.ResponseBodyWriter.Write(Stream流中)
OData查询类似于https://test.com/service/Entity1?$select=Prop1、Prop2&$expand=Entity2、Entity3&$filter=Prop4 eq 'test‘和Prop5 ne '’。
还有其他Odata查询具有类似的扩展和过滤器,这些查询运行良好。
我不知道是什么导致了这一切。
有人遇到过这个吗?
发布于 2017-05-27 12:43:33
这是由于一个包含空值的$filter列发生的,该值在异常消息中不是很明显。
https://stackoverflow.com/questions/43894035
复制相似问题