MySQL数据库连接

3

我遇到了一系列错误,不知道该如何解决。 我正在使用EntityFramework5,因为它是MySql.Data和MySql.Data.Entity支持的最新版本。 报错出现在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不支持providers,因此我尝试使用如下方法。

   <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>


而第16行和34行在哪里? - Mark
我刚刚在我的编辑中添加了那个。谢谢。 - Recursor
你编辑过你的引用了吗?你已经将MySQL添加到你的项目中了吗? - Mark
是的,MySql.data和MySql.data.entities都是来自NuGets的版本6.7.4.0。 - Recursor
1个回答

5
显然,我所需要的是:
<clear />

替代

<remove .. />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接