1.nuget 引用 EntityFramework 、和 MySql.Data.EntityFramework。

EntityFramework  版本:6.4.4,MySql.Data.EntityFramework 版本:8.0.30。

下载 MySql.Data.EntityFramework  时会自动 下载 MySql.Data 这个库。

2.新建实体类:

using System;
using System.ComponentModel.DataAnnotations; namespace DbEfTest
{
public class sys_user
{
[Key]
public long id { get; set; } public string user_name { get; set; } public string real_name { get; set; }
public string password { get; set; }
public string remark { get; set; }
public string create_userid { get; set; } //public string UpdateUserid { get; set; } public DateTime create_time { get; set; }
public DateTime? update_time { get; set; } }
}

3.新建DbContext:

using System.Data.Entity;

namespace DbEfTest
{
public class EfTestDbContext : DbContext
{
public EfTestDbContext() : base("EfTestDbContext")
{ } public DbSet<sys_user> sys_user { get; set; } }
}

4.检查Web.config 或 app.config

4.1 检查 entityFramework - providers 配置节,有没有:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" />

没有则加上。

4.2 检查 system.data - DbProviderFactories 配置节,有没有:

<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>

没有则加上。

实测providers 和 DbProviderFactories中,不加上“, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d” 也能正常跑。

也可以不加“<remove invariant="MySql.Data.MySqlClient" />”。

4.3 连接字符串:

<connectionStrings>
<add name="EfTestDbContext" connectionString="Data Source=127.0.0.1; port=3306;Database=entityframework_test;uid=root;pwd=some111;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

局部完整配置代码示例:

<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" />
</providers>
</entityFramework> <system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data>

5.使用代码:

using (EfTestDbContext db = new EfTestDbContext())
{
var tm1 = db.sys_user.FirstOrDefault(x => x.id == 1);
if (tm1 != null)
{
first = tm1.real_name;
}
}

6.编译后,检查 bin 目录(网站)或根目录(EXE程序)是否存在MySql.Data.EntityFramework.dll 文件。

如果没有,则要到 https://downloads.mysql.com/archives/c-net/ 去下载 Connector 并安装。Connector 要与 nuget 引用的版本一致,例如配置文件里 :Version=8.0.30.0,就得下载相应版本的Connector。

然后到安装目录:C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.30\Assemblies\v4.5.2,找到 MySql.Data.EntityFramework.dll,复制到bin目录或根目录。

7.运行程序。

 
可能遇到的问题:

The ADO.NET provider with invariant name 'MySql.Data.MySqlClient' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details. inner ex:找不到请求的 .Net Framework Data Provider。可能没有安装。

解决方法:

要在 DbProviderFactories 配置节中加 <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>

--



编程语言界的丐帮 C#.NET FRAMEWORK 4.6 EF 连接MYSQL的更多相关文章

  1. (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通

    一.注意要点 1:输入字符串的的编码双方保持统一,如:UTF8: 2:HASH计算输出结果 byte[] 数组转String 时,编码要统一,如:转16进制小写字符串.当然也可以转Base64. 3: ...

  2. robot framework学习笔记之七—连接mysql数据库

    1.安装Database-Library 输入命令:pip install robotframework_databaselibrary 2.添加Database的Library     3.实例 * ...

  3. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  4. Entity Framework连接Mysql数据库并生成Model和DAL层

    Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架.相比于LINQ TO SQL,EF框架具有很明显的优势: EF框架 ...

  5. 使用Python编程语言连接MySQL数据库代码

    使用Python编程语言连接MySQL数据库代码,跟大家分享一下: 前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分 ...

  6. MVC4,MVC3,VS2012+ entity framework Migration from Sqlserver to Mysql

    在开发的初期个人认为因VS与Sqlserver的配合很默契,即可以方便的实现Code First,又可以使用SqlServer Manager很漂亮的进行建模与变更,也许是个人的使用习惯MS的界面做的 ...

  7. Robot Framework连接MySQL数据库

    注:内容来自网络,整理之如下 Robot Framework连接mysql数据库需要: 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotf ...

  8. 【Basics of Entity Framework】【EF基础系列1】

    EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基于数据 ...

  9. EF是啥?【What is Entity Framework?】(EF基础系列2)

    EF产生的背景: 编写ADO.NET访问数据的代码,是沉闷而枯燥的,所以微软提供了一个对象关系映射框架(我们称之为EF),通过EF可以自动帮助我们的程序自动生成相关数据库. Writing and m ...

  10. Entity Framework Code First ---EF Power Tool MySql

    关于如何使用EF Power Tool的介绍请看 http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html, 这里 ...

随机推荐

  1. 牛客网-SQL专项训练17

    ①SQL查询中使用WHere子句指出的是:查询条件 ②Mysql中表student_table(id,name,birth,sex),查询重复姓名.重复次数,并按重复次数降序排列,正确的是(A)? 解 ...

  2. 力扣647(java)-回文子串(中等)

    题目: 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目. 回文字符串 是正着读和倒过来读一样的字符串. 子字符串 是字符串中的由连续字符组成的一个序列. 具有不同开始位置或结束位置 ...

  3. 工业视觉智能实战经验之IVI算法框架2.0

    ​简介: 工业视觉智能团队在交付了多个工业视觉智能质检项目后,发现了工业视觉智能的共性问题和解法,打造了工业视觉智能平台,通过平台的方式积累和提升工业视觉的通用能力.在平台建设上最核心的能力是算法能力 ...

  4. [FAQ] Sortable 拖拽组件, 火狐浏览器中打开新窗口问题

      Q:用了 sortable 组件,在火狐浏览器中进行拖拽时,会打开新窗口 ? Sortable组件地址,https://github.com/SortableJS/Sortable 当前处理方式 ...

  5. [FAQ] Error: Component series.bar not exists. Load it first. (echarts)

    以上错误出现在使用 echarts 组件时,未导入或者使用不正确的情况下. 检查是否导入 line 或者 bar 这一类具体的 chart,比如: import 'echarts/lib/chart/ ...

  6. R_回归模型实例一

    工作和生活中存在大量的具有相关性的事件,当找到不同变量之间的关系,我们就会用到回归分析.回归分析(Regression Analysis):是用来确定2个或2个以上变量间关系的一种统计分析方法. 在回 ...

  7. redis-desktop-manager-0.8.0.3844

    redis-desktop-manager-0.8.0.3844 下载地址: https://www.aliyundrive.com/s/Y2fobkVjAdF 链接:https://pan.baid ...

  8. Phpstrom开发工具Sftp的使用

  9. Spring环境获取Spring的Bean

    一.测试数据准备 /* Navicat Premium Data Transfer Source Server : swp-mysql Source Server Type : MySQL Sourc ...

  10. Cesium教程10-把影像和天空改成背景图片

    在使用Cesium引擎时,我们经常要使用大屏适配导致地球或者模型的黑色天空盒和大屏的样式不匹配造成场景不好看的情况,这样就可以用到我们修改Cesium的天空为纯色背景,与大屏更适配,直接上代码. &l ...