Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 找不到请求的.Net Framework数据提供程序。它可能没有安装_Sql_Asp.net Mvc 3_Entity Framework 4.1_Ef Code First - Fatal编程技术网

Sql 找不到请求的.Net Framework数据提供程序。它可能没有安装

Sql 找不到请求的.Net Framework数据提供程序。它可能没有安装,sql,asp.net-mvc-3,entity-framework-4.1,ef-code-first,Sql,Asp.net Mvc 3,Entity Framework 4.1,Ef Code First,我在ASP.NETMVC3上运行了一个应用程序,首先是实体框架代码。在开发过程中,我使用的是一个SQL Compact数据库,但是在将其移动到虚拟服务器时,我尝试将其作为SQL Express的目标 最初的问题与“在master中创建数据库”错误有关,我通过将模型从sqlcompact数据库提取到SQL脚本中,并在服务器上执行该脚本来创建数据库,从而解决了这个问题 我创建了一个新的连接字符串,指向SQL Express实例,该实例使用EF格式: <add name="LouiseClark

我在ASP.NETMVC3上运行了一个应用程序,首先是实体框架代码。在开发过程中,我使用的是一个SQL Compact数据库,但是在将其移动到虚拟服务器时,我尝试将其作为SQL Express的目标

最初的问题与“在master中创建数据库”错误有关,我通过将模型从sqlcompact数据库提取到SQL脚本中,并在服务器上执行该脚本来创建数据库,从而解决了这个问题

我创建了一个新的连接字符串,指向SQL Express实例,该实例使用EF格式:

<add name="LouiseClarkEntities" connectionString="metadata=res://*/Models.LouiseClark.csdl|res://*/Models.LouiseClark.ssdl|res://*/Models.LouiseClark.msl;provider=System.Data.EntityClient;provider connection string=&quot;Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>&quot;" providerName="System.Data.EntityClient" />
我已经在服务器上安装了EntityFramework4.1,尝试看看这是否能解决问题,但它似乎没有多大用处

错误页上堆栈跟踪的代码段:

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1420567
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +35

[ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
任何帮助都将不胜感激,因为这已经困扰了我好几天了

谢谢


Chris

首先将普通连接字符串与代码一起使用

<add name="LouiseClarkEntities" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>" providerName="System.Data.SqlClient" />

关于第二个问题,也是第一个问题的部分原因

您所做的错误是
,我通过将模型从SQL Compact数据库提取到SQL脚本中,并在服务器上执行该脚本来创建数据库。

您应该为此使用迁移脚本-然后在PM控制台中使用
更新数据库-Script
转储所需内容-然后将其部署到服务器数据库


问题是CF有自己的表和数据需要正确初始化。如果不匹配,您将得到类似的结果。

谢谢@Eranga但是现在我的自定义初始值设定项中的
context.Database.CompatibleWithModel(false)
调用返回false。我已经将元数据表从开发数据库复制到服务器,并且表匹配。
<add name="LouiseClarkEntities" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>" providerName="System.Data.SqlClient" />