c# - MySQL数据库连接

标签 c# mysql entity-framework visual-studio-2012 mysql.data

我遇到了一组错误,但我不知道如何协调。我正在使用 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)"}

所以我好像出现了一种情况,一个不能用,但是另一个不支持不变类型。我不知道如何解决这个问题。我已经能够连接到数据库并且连接字符串正常工作。我只是使用 Entity Framework 搜索或修改任何数据。

我尝试添加这个,但也没有帮助。

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

最佳答案

显然我需要的是

<clear />

代替

<remove .. />

关于c# - MySQL数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041772/

相关文章:

c# - 如何删除DataGridView中特定链接单元格的下划线

c# - ClickOnce 开始菜单图标

entity-framework - 如何在 Entity Framework 中使用 SSDL 中的定义查询?优点和例子会有帮助

MySQL创建数据库的权限

php - MySQL 通过 php 插入显示错误

c# - 与 Entity Framework 的非键关联

c# - IEnumerable 与 IQueryable

c# - 总数按年份刷新后的真实行数

c# - 字符串上unicode字符的正则表达式

c# - 使用 C# 和 Fluent Nhibernate 在 MySQL 中使用 DateTime 保存毫秒精度