EFでいくつかのプロジェクトを開始しましたが、結合テーブルやキーなどについて質問がありました。アプリケーションのテーブルと権限のテーブルがあるとします。アプリケーションには多くの権限があり、各権限は多くのアプリケーション(多対多)に属することができます。
これで、アプリケーションテーブルとアクセス許可テーブルが簡単になりました。
Applications
--------------
PK ApplicationID
Name
Permissions
--------------
PK PermissionID
Name
しかし、結合テーブルを実行する最良の方法は何ですか?次の2つのオプションがあります。
ApplicationPermissions
-----------------------
PK ApplicationPermissionID
CU ApplicationID
CU PermissionID
または
ApplicationPermissions
-----------------------
CPK ApplicationID
CPK PermissionID
PK = Primary Key
CPK = Composite Primary Key
CU = Composite Unique Index
ある方法で他の方法よりもやけどをしたことがありますか?それは厳密に好みですか?リポジトリパターンによって多くの「違い」が抽象化されることがわかりました(たとえば、アクセス許可オブジェクト全体を作成してアプリケーションに追加することはほとんどありませんが、IDまたは一意の名前または何か)、しかし、私はホラーストーリーを探していると思います。