无法找到请求的.NET Framework数据提供程序。它可能没有安装。在ASP.Net MVC4中

时间:2015-12-04 17:50:39

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

我尝试使用ASP.Net MVC4和EntityFramwork Database第一个模型添加成员资格提供程序。我使用VS Express 2012 for web,EF 5和MVC 4。

我的解决方案中有两个项目。

  1. iTMS.DAL - 包含现有数据库的EntityDatamodel。

  2. iTms.Website - 包含MVC4项目。

  3. 我做了以下事情

    1. 使用aspnet_regsql.exe在SQL Server 2014中创建成员资格表。

    2. 修改了InitializeSimpleMembershipAttribute类以使用我的entitydatamodel,如下所示

       private class SimpleMembershipInitializer
          {
              public SimpleMembershipInitializer()
              {
                  Database.SetInitializer<UsersContext>(null);
      
                  try
                  {
                      using (var context = new UsersContext())
                      {
                          if (!context.Database.Exists())
                          {
                              // Create the SimpleMembership database without Entity Framework migration schema
                              ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                          }
                      }
      
                    //  WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
                      WebSecurity.InitializeDatabaseConnection("Entities", "aspnet_Users", "UserId", "UserName", autoCreateTables: true);
                  }
                  catch (Exception ex)
                  {
                      throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                  }
              }
          }
      
    3. 当我运行我的项目时,它来到SimpleMembershipInitializer类和 然后

      {"Unable to find the requested .Net Framework Data Provider.  It may not be installed."}
      

      我该如何解决这个问题?