私は曲がりくねったイライラする道を経てこのジレンマにたどり着きましたが、今いるところから始めましょう。情報については、VS2010、Silverlight 5、および最新バージョンの Silverlight と RIA ツールキット、SDK などを使用しています。
データベースにビューがあります (実際にはインデックス付きビューになっていますが、動作に違いはありません)。テスト目的で (これには私の正気をテストすることも含まれます)、ビューをテーブルとして複製し (つまり、同一の列名と定義)、ビューのすべての行をテーブルに挿入しました。したがって、Query Analyzer でビューまたはテーブルから SELECT * を実行すると、同じ結果が得られます。ここまでは順調ですね。
Silverlight ビジネス アプリケーション Web プロジェクトで、すべてのオブジェクトを含む EDF モデルを作成します。
モデルに基づいてドメイン サービスを作成すると、View と Table の両方の ContextTypes とメタデータ、および関連する Query オブジェクトが作成されます。
テーブル クエリを使用して Silverlight プロジェクトに Silverlight ListBox を設定すると、テーブル内のすべてのデータが返されます。
ビュー クエリを介して同じ ListBox にデータを入力すると、1 行のみが返されます。常にコレクションの最初の行が返されますが、順序は異なります。実際、デバッガーを介して内部の仕組みを詳しく調べると、サービスで ObjectContext クエリを実行すると、正しい行数の結果セットが返されますが、すべての行は同じです! 昇順で並べると、最初の行の n コピーが取得され、降順で最後の行の n コピーが取得されます。
誰かが私をここで悲惨な状態から解放し、ビューが機能しない理由を教えてもらえますか?
アデ