私は .NET と EF を初めて使用し、エンティティの動的クエリを必要とするアプリケーションに取り組んでいます。私は3つのテーブルを持つデータベースを持っています:
**Employee** **EmployeeSkills** **Skill**
Employee_ID Id Skill_ID
Name Employee_ID Name
Address Skill_ID etc.
etc. Level
クライアントから、選択用のプロパティ名と、フィルタリング用のプロパティと値のペアを含む辞書を送信します。たとえば、{"name", "skill",[{"skillId="1"},{"level=2"}] } は、ID 1 に関連付けられたスキルを持つすべての従業員と、レベル 2 でこのスキルの konoledge を返します。
クエリができるだけ単純になるようにエンティティを設計する必要があります。つまり、結合や複雑な SQL はありません。プロパティの選択とフィルタリングのためにすべてを実装することができましたが、まだ多対多の関係に苦労しています。
中間テーブルに Employee_ID フィールドと Skill_ID フィールドしかない場合、Employee.Skills を使用してスキルを参照できることはわかっています。現在のテーブル構造を使用してこれを行う方法はありますか?
従業員のすべてのスキルとそのレベルを取得するために必要なクエリを格納する Employee エンティティにある種のナビゲーション プロパティを定義するなど、何らかのマッピングがあることを願っています。
PS私はVS 2012、EFランタイムバージョン4.0.3、バージョン4.4.0を使用しています