Asp.net mvc 4 MVC4-成员资格-SQL Server Compact 4.0-异常:找不到请求的.Net Framework数据提供程序

Asp.net mvc 4 MVC4-成员资格-SQL Server Compact 4.0-异常:找不到请求的.Net Framework数据提供程序,asp.net-mvc-4,asp.net-membership,sql-server-ce,entity-framework-5,Asp.net Mvc 4,Asp.net Membership,Sql Server Ce,Entity Framework 5,说我们可以将MVC4“Internet”模板生成的成员资格功能与SQLCE(SQL Server Compact 4.0本地数据库)一起使用 我以前曾多次使用过这个模板,当我不做任何事情,只是使用实体框架在我们第一次注册用户时生成的localDb(默认值)时,从来没有遇到过问题 我的要求是获取默认生成到2012 localDb数据库中的成员表,而不是生成到SQLCE数据库中。然而,我得到了以下信息: 异常:找不到请求的.Net Framework数据提供程序。它可能未安装。 为此,我们只需: O

说我们可以将MVC4“Internet”模板生成的成员资格功能与SQLCE(SQL Server Compact 4.0本地数据库)一起使用

我以前曾多次使用过这个模板,当我不做任何事情,只是使用实体框架在我们第一次注册用户时生成的localDb(默认值)时,从来没有遇到过问题

我的要求是获取默认生成到2012 localDb数据库中的成员表,而不是生成到SQLCE数据库中。然而,我得到了以下信息:

异常:找不到请求的.Net Framework数据提供程序。它可能未安装。

为此,我们只需:

  • OpenVisualStudio(express工作正常)
  • 生成一个新的MVC4-->Internet(带帐户)项目
  • 将SQLCE数据库添加到
    ~/App\u Data/
    文件夹(右键单击该文件夹并选择添加-->SQL Server Compact 4.0本地数据库)
  • 将表然后向表中添加一条记录
  • 右键单击模型文件夹,然后选择添加-->ADO.NET实体数据模型

  • 打开(root)web.config并复制“connectionstring”的名称(
    随机建议,但可能需要添加。作为web.config文件的名称空间或作为包文件中的包,我可能是错误的

    随机建议,但可能需要添加。作为web.config文件的名称空间或作为包文件中的包,我可能是错误的

    感谢Scott Hanselman和创建他的人Scott在他的中了解到使用SQLCE协议的成员资格提供程序,他概述了实现ASP.NET通用提供程序的步骤。这在他概述SQLCE的正确连接字符串大纲时对我有所帮助:

    <connectionstrings>
       <add name="Sql_CE" 
            connectionstring="Data Source=|DataDirectory|\MyWebSite.sdf;" 
            providername="System.Data.SqlServerCe.4.0">
       </add>
    </connectionstrings>
    
    应用程序编译时没有错误或异常,因此我运行了应用程序,然后注册了一个用户,在此过程中,适用的SimpleMembership表被生成到我的“ce.sdf”(SQL Server Compact 4.0本地数据库)中

    我现在可以充分利用SimpleMembership默认值了


    p、 为了简洁起见,我现在将编辑我的初始帖子/问题,以省略stacktraces,只留下例外情况。

    感谢Scott Hanselman和在他的中让他知道使用SQLCE协议的成员资格提供程序的人Scott概述了实现ASP.NET通用提供程序的步骤。这对我作为he概述了SQLCE的正确连接字符串大纲:

    <connectionstrings>
       <add name="Sql_CE" 
            connectionstring="Data Source=|DataDirectory|\MyWebSite.sdf;" 
            providername="System.Data.SqlServerCe.4.0">
       </add>
    </connectionstrings>
    
    应用程序编译时没有错误或异常,因此我运行了应用程序,然后注册了一个用户,在此过程中,适用的SimpleMembership表被生成到我的“ce.sdf”(SQL Server Compact 4.0本地数据库)中

    我现在可以充分利用SimpleMembership默认值了


    p、 为了简洁起见,我现在将编辑我的初始帖子/问题,以省略堆栈跟踪,只留下例外。

    Marc s,请停止编辑我的帖子。Marc s,请停止编辑我的帖子。具体来说,你建议将哪个命名空间添加到web.config?具体来说,你建议将哪个命名空间添加到web.config?Th谢谢你……等等,不能只是说谢谢……仅供参考;在我的情况下,我需要有
    connectionString
    providerName
    (pascalCase)谢谢你……等等,不能只是说谢谢……仅供参考;在我的情况下,我需要有
    connectionString
    providerName
    (pascalCase)
    <connectionstrings>
       <add name="Sql_CE" 
            connectionstring="Data Source=|DataDirectory|\MyWebSite.sdf;" 
            providername="System.Data.SqlServerCe.4.0">
       </add>
    </connectionstrings>
    
    <connectionstrings>
       <add name="defaultconnection" 
            connectionstring="Data Source=|DataDirectory|\ce.sdf;" 
            providername="System.Data.SqlServerCe.4.0">
       </add>
    </connectionstrings>
    
    WebSecurity.InitializeDatabaseConnection("defaultconnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);