【发布时间】:2013-09-08 07:33:53
【问题描述】:
我们已经在生产环境中使用实体框架好几个月了,就在昨天开始使用我们的 DbContext 子类查询数据库时,一些机器上出现错误:
"应用程序的连接字符串'MyConnectionString' 配置文件不包含所需的 providerName 属性”
我们的问题很容易解决:我将"providerName="System.Data.SqlClient" 添加到所有已部署服务器和工作站的配置文件中的连接字符串中。
然而,谜团依然存在:根据the documentation:
providerName 属性是可选的,默认是 "System.Data.SqlClient"。
更神秘的是为什么会突然发生这种情况,而且显然只在某些机器上发生。我不知道 EF 或 .NET 版本的任何最新更改、任何 SQL Server 版本或提供程序更改或任何内容。但我意识到一定有一些我忽略了。
.NET 4.5 英孚 5.0
任何人有任何提示或见解?
【问题讨论】:
-
一旦我为另一个项目安装了 MySQL ADO.NET 连接器后,我的开发机器就开始对我执行此操作……但 MySQL 似乎将自身添加到 machine.config 文件中。我只是假设 System.Data.SqlClient 不是默认值 - 如果只有一个配置的实体框架提供程序,更准确地说它是可选的。
标签: .net entity-framework connection-string