我正在寫一個後端調查數據庫。數據庫是用於收集調查類型數據的多個應用程序的後端。我有一個架構,其中包含一個指定應用程序的表以及哪些問題屬於該應用程序。複雜的user_roles多對多設置
現在我需要設置用戶和...的UserRole
每個用戶可以訪問到1個或多個應用程序 每個應用程序都有1個或多個用戶
每個用戶可以在應用1個角色他們有權訪問 每個角色可能存在於1個或多個應用程序中每個用戶在每個應用程序中可能具有不同的角色。
APP1具有15個用戶1個用戶是管理員 APP1具有用於用戶的訪問定義2個角色
APP2具有從APP1 30級的用戶管理用戶具有訪問權限,但是一般使用者 2 APP2管理員用戶在APP1存在正常用戶 app2具有爲用戶訪問定義的4個角色。
警告自由形式的思維過程
,所以我有
應用程序 - > ApplicationUsers < -Users
也許我只需要一個連接表,然後這樣嗎?
這是正確?它會在EF 4.0中工作嗎?
什麼是使這項工作正確的方法?
+1給jdcook72有兩件事:(a)使用單數表名。這是更好的做法,但在EF中尤其如此,因爲您的模型將要複用導航屬性,這些導航屬性是相關子實體的集合,(b)ROLE屬於APP,因爲App A中的admin與admin中的admin不同應用程序B.這是一個直接的父母/子女關係,而不是一個十字路口。對於什麼值得,什麼jdcook調用「UserAppRole」,我會打電話給ROLE_MEMBER。 – 2011-05-06 23:17:12
絕對是。我是從我當前工作環境的標準中思考的,表中的關係結構以及OP對UserAppRole的描述僅僅是它的第一個例子。鑑於我的druthers,我會使用RoleMember,因爲它有意義的語義,我認爲這是表名的優先級。雖然我必須說,從表名中提取一些結構是很方便的,但這是ERD真正的目的。 – jdcook72 2011-05-09 14:13:07