1
查询我有一个数据库视图,我发布到其他系统使用WCF数据服务。数据库和WCF数据服务之间的中间层基于实体框架4.1
当我使用简单的查询查询视图而没有orderby时,我得到所有结果。如果我包括排序依据操作,查询失败,以下错误消息(UseVerboseErrors设置为true):
WCF数据服务无法响应包括orderby
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code />
<message xml:lang="de-DE">An error occurred while processing this request.</message>
- <innererror>
<message>Object reference not set to an instance of an object.</message>
<type>System.NullReferenceException</type>
<stacktrace>at lambda_method(Closure , StatesView) at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count) at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count) at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext() at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext() at System.Data.Services.DataService`1.SerializeResponseBody(RequestDescription description, IDataService dataService) at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description) at System.Data.Services.DataService`1.HandleRequest()</stacktrace>
</innererror>
</error>
我该怎么办错了吗?该视图的数据服务密钥定义在与我想要用于排序的列不同的列上。
这里查询:
http://localhost:6000/MyView?$orderby=number desc
如果我设置SetEntitySetPageSize,那么即使没有sortby操作符,查询也会失败......视图是否有问题?该视图不包含任何SortBy命令... –
我假设这是使用反射提供程序,而您的MyView实体集是某种列表左右。你能否确认列表中不包含空元素? –
是的,你是对的,列中应该有一些空值用于排序。排除此值后,查询开始工作。再次感谢!创建一个新的答案,以便您可以获得一些回答我的问题的要点。 –