0

我正在建設一個新的asp mvc 4項目。我在Application_Start()
SimpleMembership默認表(會員)關係

WebSecurity.InitializeDatabaseConnection(
       "DefaultConnection", 
       "UserProfile", 
       "UserId", 
       "UserName", 
       true); 

添加而當我已經開始應用它創造了我默認表像圖。 我已經延長了UserProfile以符合我的需求。
從圖中可以看到webpages_OAuthMembership & webpages_Membership表與任何表都沒有關係。
我是否應該將它們綁定到UserProfile表格UserId作爲FK或者是否有理由如此留下它?
我第一次使用SimpleMembership

enter image description here

回答

1

我會說這是你的,但我不會推薦它,在我看來。

主要考慮是:

  • 所有的FKS會做的是實施參照完整性(他們儘可能仔細will not impact performance管理您的索引)。
  • 據我所知,如果您使用參照完整性,SimpleMembership中不會出現任何情況。
  • 但是隨着SimpleMembership創建沒有FK的表格,這是它被測試的方式;創建FK可能因此破壞一些操作(但不太可能)。

因此我不創建FK。我使用SimpleMembership, WebSecurity, Membership, Roles etc. classes to do all membership operations,這意味着我永遠不需要直接訪問表。這也意味着,如果存在參照完整性會破壞SimpleMembership提供商的邊緣情況,那麼我不會遇到它們。