我有一个带有过滤器描述符的域数据源。这是用于搜索数据的文本框。它只筛选出以文本开头的名称。每当在搜索框中输入文本时,我都会得到一个错误。错误消息的一部分内容如下:
'The 'Skip‘仅支持LINQ实体中的排序输入。方法'OrderBy‘必须在方法’Skip‘之前调用
我无法深入研究它并找到过滤器只使用原始查询的linq语句。有人能告诉我这条linq语句在哪里或者我如何找到它吗?
更新
这是完整的错误消息:
网页错误详细信息用户代理程序: Mozilla/4.0 (兼容;MSIE8.0;Windows 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)时间戳:清华,2011年1月6日20:45:30 UTC消息: Silverlight应用程序代码中未处理的错误: 4004类别: ManagedRuntimeError消息: System.Windows.Ria.DomainException:在通过“AllocationContext”类型的DomainContext上的“GetEmployeesView”查询加载数据时发生错误,并且错误未被处理。如果预期出现此错误,则必须处理DomainDataSource上的DomainDataSource事件,并调用LoadedDataEventArgs.MarkErrorAsHandled()以避免此异常。查询“GetEmployeesView”的加载操作失败。只支持LINQ实体中排序输入的方法'Skip‘。方法'OrderBy‘必须在方法'Skip’之前调用。-> System.Windows.Ria.DomainOperationException:查询'GetEmployeesView‘的加载操作失败。只支持LINQ实体中排序输入的方法'Skip‘。方法'OrderBy‘必须在方法'Skip’之前调用。-内部异常堆栈跟踪-在System.Windows.Ria.OperationBase.InvokeCompleteAction() at System.Windows.Ria.OperationBase.Complete(Exception error)在System.Windows.Ria.LoadOperation.Complete(Exception错误(在System.Windows.Ria.DomainContext.CompleteLoad(IAsyncResult asyncResult) (在System.Windows.Ria.DomainContext.<>c_DisplayClass17.b_13(Object )中)行: 56 Char: 13代码:0
'GetEmployeesView‘是RIA服务查询,它从'EmployeesView’实体(从SQL视图构建)返回员工列表。
发布于 2012-06-18 20:28:31
您的RIA方法必须返回实现IQueryable的集合。DomainDataSource使用LINQ ()、Skip()等在幕后形成其加载、排序和筛选查询。如果您感兴趣的话,“查看”这些查询的最简单方法是激发Fiddler,并在请求穿过线路时查看它。
https://stackoverflow.com/questions/4626592
复制相似问题