8

我正在尝试使用 MVC 4 RC 默认模板启用登录。我的做法与 MVC 3 中的 Aspnet_regsql.exe -> SQL 服务器相同。然后我将连接字符串指向 SQL 服务器。

当我尝试注册一个新用户时,我得到了这个:

Server Error in '/' Application.

Invalid column name 'ApplicationId'.
Invalid column name 'UserName'.
Invalid column name 'ApplicationId'.
Invalid column name 'UserId'.
Invalid column name 'UserName'.
Invalid column name 'IsAnonymous'.
Invalid column name 'LastActivityDate'.

AccountController 中的错误:

              Line 85: // Attempt to register the user
              Line 86: MembershipCreateStatus createStatus;
Error here -> Line 87: Membership.CreateUser(model.UserName, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus);
              Line 88:
              Line 89: if (createStatus == MembershipCreateStatus.Success)

我一直在尝试用谷歌搜索这个错误,但到目前为止还没有运气。在 MVC 4 中可能有其他方式我应该这样做吗?

4

1 回答 1

10

aspnet_regsql.exe我收到了同样的错误,因为我使用的是2.x 版的成员资格表。我aspnet_regsql.exe在版本 2.x 文件夹中运行可执行文件并卸载了表。然后使用新的通用提供程序,您不再需要使用上述可执行文件,这些表是在您第一次连接时创建的。

本文更详细地介绍了旧的 aspnet_Memembership 与 Universal Providers 之间的区别。

更强的密码拥有网络

文章的关键点:

首先,没有更多 aspnet_regsql,您只需确保您的连接字符串已设置并且该帐户具有 DBO 权限(不用担心,它不必保持这种状态)然后运行应用程序并尝试执行任何应该执行的操作导致会员提供者访问数据库(即登录 - 没有帐户并不重要)。

这就是它的全部。

于 2012-08-15T11:32:15.750 回答