【问题标题】:RIA Services errorRIA 服务错误
【发布时间】:2011-01-07 14:40:34
【问题描述】:

我有一个带有过滤器描述符的域数据源。这是用于搜索数据的文本框。它只过滤掉以文本开头的名称。每当在搜索框中输入文本时,我都会收到错误消息。部分错误消息是这样说的:

'只支持'Skip'方法 用于 LINQ to Entities 中的排序输入。 必须调用方法“OrderBy” 在方法“跳过”之前

我无法深入研究它并仅找到过滤器使用的 linq 语句原始查询。 谁能告诉我这个 linq 语句在哪里或者我怎么能找到它?

更新

这是完整的错误信息:

网页错误详情用户代理: Mozilla/4.0(兼容;MSIE 8.0; 视窗 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; 。网 CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) 时间戳:周四,6 2011 年 1 月 20:45:30 UTC 消息: Silverlight 中未处理的错误 申请代码:4004 类别: ManagedRuntime 错误消息: System.Windows.Ria.DomainException:一个 加载数据时出错 通过“GetEmployeesView”查询 关于类型的 DomainContext 'AllocationContext',错误是 不处理。如果这个错误是 预期,那么您必须处理 LoadedData 事件 DomainDataSource 和调用 LoadedDataEventArgs.MarkErrorAsHandled() 以避免此异常。加载 查询操作失败 'GetEmployeesView'。方法“跳过” 仅支持排序输入 LINQ 到实体。方法“OrderBy” 必须在方法之前调用 '跳过'。 ---> System.Windows.Ria.DomainOperationException: 查询的加载操作失败 'GetEmployeesView'。方法“跳过” 仅支持排序输入 LINQ 到实体。方法“OrderBy” 必须在方法之前调用 '跳过'。 --- 内部异常结束 堆栈跟踪 --- 在 System.Windows.Ria.OperationBase.InvokeCompleteAction() 在 System.Windows.Ria.OperationBase.Complete(异常 错误)在 System.Windows.Ria.LoadOperation.Complete(异常 错误)在 System.Windows.Ria.DomainContext.CompleteLoad(IAsyncResult asyncResult) 在 System.Windows.Ria.DomainContext.c_DisplayClass17.b_13(Object ) 行:56 字符:13 代码:0

“GetEmployeesView”是 RIA 域服务查询,它从“EmployeesView”实体(从 SQL 视图构建)返回员工列表。

【问题讨论】:

    标签: silverlight-3.0 service ria domaindatasource


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多