我收到了一组我不知道如何调和的错误。我正在使用 EntityFramework5,因为这是 MySql.Data 和 MySql.Data.Entity 的最新支持的 EF 版本。引发错误的是 App.Config。这是我一直在尝试但没有解决方案的两种替代方法。
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
</providers>
</entityFramework>
在此示例中,我收到错误: {"Unrecognized element 'providers'. (C:\\Users\\recursor\\Documents\\Visual Studio 2012\\Projects\\CS3280\\Final Project\\IR\\ConsoleApplication2\\bin\\Debug\\ConsoleApplication2.vshost.exe.Config line 16)"}
据我了解,EF5 不支持提供程序,因此我尝试使用它。
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
<contexts>
<context type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
</contexts>
</entityFramework>
在此示例中,我收到错误: {"Required attribute 'invariant' not found. (C:\\Users\\recursor\\Documents\\Visual Studio 2012\\Projects\\CS3280\\Final Project\\IR\\ConsoleApplication2\\bin\\Debug\\ConsoleApplication2.vshost.exe.Config line 34)"}
我尝试将不变式放入并收到警告不允许使用“invariantName”属性(也不是不变式)。
如果我输入不变量,则会出现以下错误: {"Required attribute 'invariant' not found. (C:\\Users\\recursor\\Documents\\Visual Studio 2012\\Projects\\CS3280\\Final Project\\IR\\ConsoleApplication2\\bin\\Debug\\ConsoleApplication2.vshost.exe.Config line 34)"}
所以我似乎有一种情况,我不能使用一个,但另一个不支持不变类型。我不知道如何解决这个问题。我已经能够连接到数据库并且连接字符串工作。我只是使用实体框架搜索或修改任何数据。
我尝试添加这个,但它也没有帮助。
<system.data>
<DbProviderFactories>
<remove name="MySQL Data Provider"/>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
编辑1:
第 16 行是<providers>
.
第 34 行是<DbProviderFactories>