Asp.net mvc 4 MVC4RC-Aspnet_regsql.exe

Asp.net mvc 4 MVC4RC-Aspnet_regsql.exe,asp.net-mvc-4,Asp.net Mvc 4,我正在尝试使用MVC4RC默认模板启用登录。 我使用与MVC3相同的方法,Aspnet_regsql.exe->SQLServer。然后,我将连接字符串指向SQL server 当我尝试注册新用户时,我得到以下信息: Server Error in '/' Application. Invalid column name 'ApplicationId'. Invalid column name 'UserName'. Invalid column name 'ApplicationId'. I

我正在尝试使用MVC4RC默认模板启用登录。 我使用与MVC3相同的方法,Aspnet_regsql.exe->SQLServer。然后,我将连接字符串指向SQL server

当我尝试注册新用户时,我得到以下信息:

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)
我一直试图用谷歌搜索这个错误,但到目前为止运气不好。
在MVC4中是否还有其他方法可以这样做?

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

本文将更详细地介绍旧的aspnet_Membership与Universal Providers之间的区别

文章的要点:

首先,不再有了
aspnet\u regsql
,您只需确保您的连接字符串已设置且帐户具有DBO权限(别担心,它不必保持这种状态),然后运行应用程序并尝试执行任何可能导致成员资格提供程序访问数据库的操作(即登录–没有帐户并不重要)


这就是问题的全部。

找到解决方案了吗?如果我运行SQL探查器,由
DefaultMembershipProvider
生成的SQL语句使用的表名与
aspnet\u regsql
Applications
而不是
aspnet\u Applications
Users
而不是
aspnet\u Users
)。一种解决方案是重命名表以适合成员资格提供程序,或者为MVC编写自定义成员资格提供程序。“首先,没有更多的aspnet\u regsql,您只需确保设置了连接字符串…”而且一切都很好:)没有更多的regsql工具!非常感谢:)我的问题是,新的System.Web.Providers框架没有与aspnet_regsql.exe等效的程序,我无法创建db模式,然后在允许公共用户注册之前为管理员用户和角色的成员资格设定种子。我构建了MvcInstaller(NuGet和github),它使用aspnet_regsql.exe为管理员安装成员资格系统。这不允许我为新系统更新组件。这令人沮丧。