Sql 找不到请求的.Net Framework数据提供程序。它可能没有安装
我在ASP.NETMVC3上运行了一个应用程序,首先是实体框架代码。在开发过程中,我使用的是一个SQL Compact数据库,但是在将其移动到虚拟服务器时,我尝试将其作为SQL Express的目标 最初的问题与“在master中创建数据库”错误有关,我通过将模型从sqlcompact数据库提取到SQL脚本中,并在服务器上执行该脚本来创建数据库,从而解决了这个问题 我创建了一个新的连接字符串,指向SQL Express实例,该实例使用EF格式: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
<add name="LouiseClarkEntities" connectionString="metadata=res://*/Models.LouiseClark.csdl|res://*/Models.LouiseClark.ssdl|res://*/Models.LouiseClark.msl;provider=System.Data.EntityClient;provider connection string="Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>"" 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" />