3

我收到了一组我不知道如何调和的错误。我正在使用 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>

4

1 回答 1

5

显然我需要的是

<clear />

代替

<remove .. />
于 2013-11-18T17:41:20.183 回答