vwProposedMigrations の DeptCode が、ユーザーが管理を許可されているdeptsのリストにある項目 (vwProposedMigrations) のリストを返そうとしています。
結果には、departmentCode 文字列のリストが含まれます。これらは、以前の entityQuery を介して読み込まれ、正しく返されます。
var result = (from r in wtps.Schedule_Owner_DeptCode_Mappings select r.DeptCode).ToList();
var data = wtps.GetVwProposedMigrationsQuery().Where(x=>result.Contains(x.DepartmentCode));
LoadOperation dataLoad = wtps.Load<vwProposedMigration>(data);
dataLoad.Completed += new EventHandler(LoadvwProposedMigrationsOperation_Completed);
しかし、このエラーを受け取ります:
タイプ 'System.Collections.Generic.List
1[System.String]' cannot be serialized as part of the query. 'System.Collections.Generic.List
1[System.String]' の値は、サポートされているタイプではありません。
ObservableCollection
と を使用してstring[]
部門コードのリストを保持しようとしましたが、同じ問題が発生します。Containsを使用する多くの例を見てきましたが、これらは最初のクエリを制限するのではなく、ロードされたデータに対して動作します。
vwProposedMigrations の結果セットは約 38,000 行あるため、結果セット全体を読み込まないようにしています。そのため、クエリをユーザーが関心のある行のみに制限することが目標です。
ありがとうミック