here に例示されているように、この多対多の関係クエリを実装しようとしています。
従業員テーブル、「ゾーン」テーブル、および従業員 xref ゾーン テーブルがあります。1 人の従業員が複数のゾーンに属することができ、1 つのゾーンに複数の従業員を含めることができます。これを SQL の観点から考えると、これは完全に理にかなっています。これらのデータを 1 日中 SSMS に結合、内部結合、なんでも結合することができます。私が理解できないのは、正しい linq クエリを正しいスクリーン コントロールにアタッチして、ゾーンの選択リストに基づいて従業員のリストをフィルター処理できるようにする方法です。WCF RIA は、私たちが追求できる開発方向ではありません。
タイプ「Integer」のパラメーター「Employee」を使用して、ResponseZoneテーブルに以下を添付しました
Private Sub QRYZone_PreprocessQuery(Employee As System.Nullable(Of Integer), ByRef query As System.Linq.IQueryable(Of LightSwitchApplication.ResponseZones))
query = From q In query
Where q.xref_EmployeeZonesCollection.Where(Function(u) u.ResponseZones.Id = Employee).Count() > 0
End Sub
次に、xref エンティティを画面に追加し、それを「ゾーン」にバインドします。それが達成する唯一のことは、従業員とゾーンのすべての組み合わせの選択リストを作成し、何もフィルタリングしないことです. 明らかに私はここで何か間違ったことをしていますが、何が原因なのかを突き止めようとしています。
多対多の関係、多対多のクエリ、および 複数のエンティティを含むクエリでフィルターを試しましたが、成功しませんでした。これらの例が機能しないスキーマに何か違うものがあるか、本当に明白なものが欠けています。