2011-01-07 129 views
1

我有一个带过滤器描述符的domaindatasource。这是用于搜索数据的文本框。它仅过滤出以文本开头的名称。无论何时在搜索框中输入文本,我都会收到错误消息。部分错误消息是这样的:RIA服务错误

'只有支持 的LINQ to Entities排序输入方法。 方法“排序依据”必须叫 方法之前'跳过”

我不能够深入到里面找到由过滤器只有原来的查询中使用的LINQ语句。 任何人都可以告诉我这个linq声明在哪里,或者我怎么找到它?

UPDATE

这是完全错误消息:

网页错误详细信息用户代理: 的Mozilla/4.0(兼容; MSIE 8.0; 的Windows NT 5.2;三叉戟/ 4.0。 NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)时间戳:星期四,6 扬20点45分三十秒UTC消息: 未处理的错误在Silverlight应用 代码:4004类别: ManagedRuntimeError消息: System.Windows.Ria.DomainException:发生 错误而载入数据 通过“GetEmployeesView”查询 上的DomainContext类型 'AllocationContext'和错误是 未处理。如果预期此错误为 ,则必须处理 DomainDataSource上的 LoadedData事件,并且请致电 LoadedDataEventArgs.MarkErrorAsHandled() 以避免此异常。加载 查询操作失败 'GetEmployeesView'。 “跳过” 方法仅支持 LINQ to Entities中的排序输入。必须在方法 “跳过”之前调用方法'OrderBy' 。 ---> System.Windows.Ria.DomainOperationException: 加载操作失败,查询 'GetEmployeesView'。 “跳过” 方法仅支持 LINQ to Entities中的排序输入。必须在方法 “跳过”之前调用方法'OrderBy' 。 ---内部异常 堆栈跟踪的末尾在 System.Windows.Ria.OperationBase.InvokeCompleteAction() 在 System.Windows.Ria.OperationBase.Complete(例外 误差)在 System.Windows.Ria .LoadOperation.Complete(异常 错误)在 System.Windows.Ria.DomainContext.CompleteLoad(IAsyncResult asyncResult)at System.Windows.Ria.DomainContext。 <> c_ DisplayClass17。b _13(对象 )线:56字符:13代码:0

在 'GetEmployeesView' 是从 'EmployeesView' 实体返回雇员的列表RIA DOMIAN服务查询(从SQL视图内置)。

回答

0

您的RIA方法必须返回实现IQueryable的集合。 DomainDataSource使用LINQ Take(),Skip()等形式加载,排序和过滤后台查询。如果您感兴趣,“查看”这些查询的最简单方法是启动Fiddler,并在请求通过网络时查看请求。