1

フィルター記述子を持つ domaindatasource があります。これは、データを検索するためのテキスト ボックスです。テキストで始まる名前のみを除外します。検索ボックスにテキストを入力するたびにエラーが発生します。エラーメッセージの一部には、次のように記載されています。

'Skip' メソッドは、LINQ to Entities の並べ替えられた入力に対してのみサポートされています。メソッド「OrderBy」は、メソッド「Skip」の前に呼び出す必要があります

ドリルダウンして、元のクエリのみのフィルターで使用される linq ステートメントを見つけることができません。このlinqステートメントがどこにあるか、またはどのように見つけることができるか教えてもらえますか?

アップデート

これは完全なエラー メッセージです。

Web ページ エラーの詳細 ユーザー エージェント: Mozilla/4.0 (互換性あり; MSIE 8.0; Windows NT 5.2; Trident/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 で LoadedData イベントを処理し、LoadedDataEventArgs.MarkErrorAsHandled() を呼び出してこの例外を回避する必要があります。クエリ 'GetEmployeesView' の読み込み操作に失敗しました。メソッド 'Skip' は、LINQ to Entities の並べ替えられた入力に対してのみサポートされています。メソッド「OrderBy」は、メソッド「Skip」の前に呼び出す必要があります。---> System.Windows.Ria.DomainOperationException: クエリ 'GetEmployeesView' の読み込み操作が失敗しました。メソッド 'Skip' は、LINQ to Entities の並べ替えられた入力に対してのみサポートされています。メソッド「OrderBy」は、メソッド「Skip」の前に呼び出す必要があります。--- 内部例外スタック トレースの終了 --- System.Windows.Ria.OperationBase.InvokeCompleteAction() で System.Windows.Ria.OperationBase.Complete(例外エラー) で System.Windows.Ria.LoadOperation.Complete(Exception)エラー) System.Windows.Ria.DomainContext で。DisplayClass17.b _13(オブジェクト) 行: 56 文字: 13 コード: 0

「GetEmployeesView」は、「EmployeesView」エンティティ (SQL ビューから作成) から従業員のリストを返す RIA ドミアン サービス クエリです。

4

1 に答える 1

0

RIA メソッドは、IQueryable を実装するコレクションを返す必要があります。DomainDataSource は、LINQ Take()、Skip() などを使用して、舞台裏で読み込み、並べ替え、およびフィルター クエリを作成します。興味がある場合にこれらのクエリを「見る」最も簡単な方法は、Fiddler を起動して、要求がネットワークを通過するのを確認することです。

于 2012-06-18T20:28:31.483 に答える