MVC5空白项目的成员资格

时间:2015-10-23 16:31:47

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-membership

我正在尝试在asp.net mvc5空白项目中使用成员资格。我正在使用db first方法并为此安装了apsnet_regsql。在我创建了vs2012互联网应用程序并复制了模型,过滤器,控制器和视图中的所有内容之后。

但是我遇到了一个问题。当我尝试访问登录(或其他东西)时,它会引发异常:

  

发生了'System.ArgumentException'类型的异常   System.Data.dll但未在用户代码中处理

     

其他信息:无法找到所请求的.Net Framework   数据提供者。它可能没有安装。

这是我的连接字符串:

<add name="CSharpAssignmentDbContext" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=GIORGI\SQLEXPRESS;initial catalog=CSharpAssignmentDb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

起初我遇到了另一个问题,而不是找到here

  

在您的网络应用程序的根目录中创建一个名为_AppStart.cshtml的文件   把它放进去:

@{
     if (!WebSecurity.Initialized)
    {
        WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId",
                                                 "UserName", autoCreateTables: true);
    }
}

它出了什么问题?我先使用最新的EF 6.1.3 Db

1 个答案:

答案 0 :(得分:0)

我发现here

  

除了edmx之外,您不能将该连接字符串用于其他任何内容   连接。我在web.config中使用它的方式使网站使用   会员资格的相同连接字符串也是如此   与System.Data.EntityClient提供程序兼容并且需要   在我的情况下System.Data.Sqlclient。添加第二个连接字符串,   减去实体框架中的内容并将其引用   web.config中的成员资格提供程序属性将删除所有   错误并允许页面呈现并从SQL请求内容   服务器

所以我添加了第二个连接字符串

<add name="DefaultConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=CSharpAssignmentDb;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

它解决了我的问题