我正在尝试使用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中我可能还有其他一些方法吗?
答案 0 :(得分:10)
我收到了同样的错误,因为我使用的是aspnet_regsql.exe
版本2.x中的成员资格表。我在版本2.x文件夹中运行aspnet_regsql.exe
可执行文件并卸载了表。然后使用新的通用提供程序,您不再需要使用上述可执行文件,这些表是在您第一次连接时创建的。
本文详细介绍了旧aspnet_Memembership与Universal Providers之间的差异。
文章的要点:
首先,不再 aspnet_regsql
,您只需确保您的连接字符串已设置且该帐户具有DBO权限(不用担心,它不必保留此权限)然后运行应用程序并尝试执行任何应该导致成员资格提供程序命中数据库的操作(即登录 - 没有帐户没关系)。
这就是它的全部内容。