【问题标题】:Entity Framework DataService实体框架数据服务
【发布时间】:2017-05-10 13:33:19
【问题描述】:

我在我的 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-beta2

我们最近迁移到 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 getAbsoluteUri, Boolean topLevel)\r\n 在 System.Data.Services.Serializers.EntitySerializer.WriteTopLevelElements(IExpandedResult 扩展,QueryResultInfo 元素)\r\n 在 System.Data.Services.Serializers.Serializer.WriteRequest(QueryResultInfo queryResults)\r\n 在 System.Data.Services.ResponseBodyWriter.Write(Stream stream)

OData 查询类似于 https://test.com/service/Entity1?$select=Prop1,Prop2&$expand=Entity2,Entity3&$filter=Prop4 eq 'test' 和 Prop5 ne ''

还有其他具有类似扩展和过滤器的 Odata 查询运行良好。

我不知道是什么原因造成的。

有人遇到过这个吗?

【问题讨论】:

  • 尝试更改为 \n 而不是 \r\n。或者可能是您的数据包含或不包含这些字符。
  • 这是您正在查看的异常。它肯定不是数据,因为还有其他具有相同结果集的 odata 查询运行良好。

标签: c# entity-framework odata wcf-data-services sql-server-2016


【解决方案1】:

这是由于 $filter 列之一包含空值,这在异常消息中不是很明显

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多