C# 有序复杂对象

C# 有序复杂对象,c#,linq,odata,C#,Linq,Odata,我需要执行复杂的查询,例如: (from e in _dataContext.Entity.Expand("RelationA/RelationB") select e) .OrderBy(x => x.RelationA.RelationB.Property) .ThenBy(x => x.RelationA.Property) .ThenBy(x => x.Property) .Skip(0).Take(10); 或 上面给出了一个服务器错误,表示无法执行该进程 在只按第

我需要执行复杂的查询,例如:

(from e in _dataContext.Entity.Expand("RelationA/RelationB")
select e)
.OrderBy(x => x.RelationA.RelationB.Property)
.ThenBy(x => x.RelationA.Property)
.ThenBy(x => x.Property)
.Skip(0).Take(10);

上面给出了一个服务器错误,表示无法执行该进程

在只按第一个关系和属性排序的情况下,没有问题,就是当我将两个关系放入顺序中时

服务器端使用:Microsoft.Data.Services 5.6.0.0

使用客户端:Microsoft.Data.OData 5.6.4.0

可以执行这种类型的查询,或者是不合适的查询,谢谢

堆栈跟踪:

   en System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
   en System.Data.Services.Client.DataServiceQuery`1.Execute()
   en System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()
   en System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   en System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   en Sigap.Wpf.ViewModel.GenLocalidadListViewModel.ObtenerPaginado()
有关错误的详细信息:

处理此请求时出错。没有任何应用程序格式为“OptionalValue”的文件。请在System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitoNationalValue(SqlOptionalValue sov)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitSearchedCase(SqlSearchedCase)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitWithParens(SqlNode节点,SqlNode外部)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.visitonaryoperator(SqlUnary uo)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitSearchedCase(SqlSearchedCase)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitWithParens(SqlNode节点,SqlNode外部)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.visitonaryoperator(SqlUnary uo)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitSearchedCase(SqlSearchedCase)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitRowNumber(SqlRowNumber-rowNumber)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitRow(SqlRow行)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitSelect(SqlSelect ss)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitAlias(SqlAlias别名)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.VisitSelect(SqlSelect ss)和#xD;
en System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Visitor.Format(SqlNode节点,Boolean-isDebug)和#xD;
en System.Data.Linq.SqlClient.SqlFormatter.Format(SqlNode节点)和#xD;
en System.Data.Linq.SqlClient.SqlProvider.BuildQuery(ResultShape ResultShape,Type resultType,SqlNode node,ReadOnlyCollection`1 parentParameters,sqlnodeanotations annotations)&xD;
en System.Data.Linq.SqlClient.SqlProvider.BuildQuery(表达式查询、sqlnodeanotations注释)和#xD;
en System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式查询)和#xD;
en System.Data.Linq.DataQuery`1.System.Collections.IEnumerable.GetEnumerator();
en System.Data.Services.Internal.ProjectedWrapper.EnumerableRapper.GetEnumerator()
;
en System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable enumerable)和#xD;
en System.Data.Services.QueryResultInfo.MoveNext()和#xD;
en System.Data.Services.DataService`1.serializeResponseBox(请求描述、IDataService数据服务、IODataResponseMessage responseMessage)和#xD;

en System.Data.Services.DataService`1.HandleRequest()
它们之间的关系是什么?它们都是1:1关系吗?关系是1:N!一个州有许多自治市,其中自治市是实体,州是关系;关系b是针对Countries的堆栈跟踪是什么?你能提供你拥有的和你尝试过的实际代码吗?你尝试过滤的属性的可能值是什么?其中一些可以为空吗?
   en System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
   en System.Data.Services.Client.DataServiceQuery`1.Execute()
   en System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()
   en System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   en System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   en Sigap.Wpf.ViewModel.GenLocalidadListViewModel.ObtenerPaginado()