从EF开始一些项目,但是我对联接表和键等有一些疑问。可以说我有一个应用程序表和一个权限表。应用程序具有许多权限,每个许可权可以属于多个应用程序(多对多)。
现在,“应用程序”和“权限”表很简单:
Applications
--------------
PK ApplicationID
Name
Permissions
--------------
PK PermissionID
Name
但是做联接表的最佳方法是什么?我有两个选择:
ApplicationPermissions
-----------------------
PK ApplicationPermissionID
CU ApplicationID
CU PermissionID
要么
ApplicationPermissions
-----------------------
CPK ApplicationID
CPK PermissionID
PK = Primary Key
CPK = Composite Primary Key
CU = Composite Unique Index
您曾经被一种方法折磨过吗?严格优先吗?我发现很多“差异”都会被我的存储库模式抽象化(例如,我几乎永远不会创建一个完整的权限对象并将其添加到应用程序中,而是通过ID或唯一名称或东西),但我想我正在寻找恐怖故事,一种或另一种方式。