0

我正在构建一个新的asp mvc 4项目。我已经添加了Application_Start()

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

当我启动应用程序时,它会为我创建默认表格,例如图表。我已经扩展UserProfile以满足我的需要。
在图表上,您可以看到webpages_OAuthMembership & webpages_Membership表格与任何表格都不存在关系。我应该将它们作为FK
绑定到UserProfile桌子上还是有某种理由让它像这样离开? 我第一次合作。UserId
SimpleMembership

在此处输入图像描述

4

1 回答 1

1

我会说这取决于你,但我认为我不会推荐它。

主要考虑因素是:

  • FK 所做的只是强制引用完整性(它们不会像仔细管理索引那样影响性能)。
  • 据我所知,如果您使用参照完整性,SimpleMembership 中的任何场景都不会中断。
  • 但是由于 SimpleMembership 创建没有 FK 的表,这就是它经过测试的工作方式;因此,创建 FK 可能会破坏某些操作(但不太可能)。

因此我不创建 FK。我使用SimpleMembership、WebSecurity、Membership、Roles 等类来执行所有成员操作,这意味着我永远不需要直接访问表。这也意味着,如果存在引用完整性会破坏 SimpleMembership 提供程序的极端情况,我没有遇到它们的风险。

于 2013-10-20T22:04:45.793 回答