これが私のシナリオです(テーブル):
Departments
====================
Id (int)
Name (varchar)
Employees
====================
Id (int)
Name (varchar)
EmployeesDepartmentXREFs
====================
EmployeeId (int)
DepartmentId (int)
これら 3 つのテーブルを EDMX モデルにインポートすると、Employee と Department の 2 つのエンティティが得られます。Entity Employee にはナビゲーション プロパティ Departments があり、エンティティ Department にはナビゲーション プロパティ Employees があります。
そして、これはすべて問題ありません。実はこういうの好きです。
しかし、XREF テーブルにさらにフィールドを追加したい場合に問題が発生します。たとえば、DateCreated、UserId フィールドを使用して、変更がいつ誰によって行われたかを記録したいと考えています。これら 2 つのフィールドを XREF テーブルに追加すると、EDMX モデルには 2 つではなく 3 つのエンティティが表示されます。大きな問題ではありませんが、コーディングはすでに完了しているので、(コーディングを避けるための) 簡単な解決策を探しています。
質問:新しいフィールドを XREF (相互参照) テーブルに追加して、エンティティを 2 つだけ保持することはできますか? はいの場合、日時とユーザー ID 情報を更新するにはどうすればよいですか?
(日付とユーザー ID を使用して) 更新できるようにするには XREF エンティティが存在する必要があると思いますが、ナビゲーション プロパティ EmployeesDepartmentXREFs ではなく、 Departments と Employees を持つナビゲーションプロパティが本当に好きです。
これの中間点はありますか?ベストプラクティスは何ですか?
ありがとう。