当我在.NET 4.0中使用Entity Framework 5.0.0时,运行时出现未识别元素'providers'异常。实际上,在使用NuGet的install-package时,加载的是Entity Framework的版本4.4.0。当我从资源管理器中检查文件属性时,可以看到:
这是我的配置文件:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<connectionStrings>
<add name="xxx" connectionString="metadata=res://*/StreetMusicModel.csdl|res://*/StreetMusicModel.ssdl|res://*/StreetMusicModel.msl; provider=MySql.Data.MySqlClient;provider connection string=' server=xxx.net; user id=xxx; password=xxx; database=xxx'" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v12.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
</providers>
</entityFramework>
我有种感觉,Entity Framework 4.4.0无法识别<connectionStrings>标签。我能否直接删除或重命名<connectionStrings>部分?但是当我删除<connectionStrings>部分时,会出现另一个异常:The underlying provider failed on Open。
, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
。 - Yuliam Chandra