我有一个应用程序运行在ASP.NET MVC 3与实体框架代码优先。在开发过程中,我使用了一个SQL Compact数据库,但是在将它移动到我的虚拟服务器时,我试图定位SQL Express。无法找到请求的.Net Framework数据提供程序。它可能没有安装
最初有一些问题需要处理“CREATE DATABASE in master”错误,我通过将模型从SQL Compact数据库提取到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="Data Source=.\SQLEXPRESS; Initial Catalog=LouiseClark; User ID=<username>; Password=<password>"" providerName="System.Data.EntityClient" />
错误导航到使用一个数据库中的网页时,我现在越来越是:
Unable to find the requested .Net Framework Data Provider. It may not be installed.
我已经在服务器上安装了Entity Framework 4.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.]
任何帮助,将不胜感激,因为这已被窃听我几天了!
感谢,
克里斯
谢谢@Eranga但是现在我的自定义初始化器中的context.Database.CompatibleWithModel(false)'调用返回false。我已将元数据表从开发数据库复制到服务器,并且表匹配。 – Chris 2012-04-01 13:16:36