千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core。

昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功能已经可用。

NuGet 地址:https://www.nuget.org/packages/MySql.Data

https://www.nuget.org/packages/MySql.Data.Core/

本篇还是简单介绍一下:.NET Core 使用Dapper 操作MySQL 数据库, .NET Core MySQL官方驱动。

新建项目

新建一个.NET Core控制台应用程序 NETCoreMySQL

添加引用

使用 NuGet 控制台添加

Install-Package MySql.Data -Pre

Install-Package Dapper

MySQL 增删查改

在MySQL里面新建一个测试库 及表

测试所用MySQL脚本:

CREATE DATABASE `test` 

CREATE TABLE `user` (
`Id` int() NOT NULL AUTO_INCREMENT,
`UserName` varchar() DEFAULT NULL,
`Url` varchar() DEFAULT NULL,
`Age` int() DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

新建一个User 类

    public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Url { get; set; }
public int Age { get; set; }
}

下面来操作MySQL 增删改查

        public static void Main(string[] args)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=test;uid=root;pwd=;charset='gbk';SslMode=None");
//新增数据
con.Execute("insert into user values(null, '测试', 'http://www.cnblogs.com/linezero/', 18)");
//新增数据返回自增id
var id = con.QueryFirst<int>("insert into user values(null, 'linezero', 'http://www.cnblogs.com/linezero/', 18);select last_insert_id();");
//修改数据
con.Execute("update user set UserName = 'linezero123' where Id = @Id", new { Id = id });
//查询数据
var list = con.Query<User>("select * from user");
foreach (var item in list)
{
Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
}
//删除数据
con.Execute("delete from user where Id = @Id", new { Id = id });
Console.WriteLine("删除数据后的结果");
list = con.Query<User>("select * from user");
foreach (var item in list)
{
Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
}
Console.ReadKey();
}

这里最重要的一点: 链接字符串要加上 SslMode=None 不然会报错误:SSL not supported in this WinRT release.

然后就是简单使用Dapper 操作数据库了,更多功能可以查看官方文档。

执行效果:

GitHub :https://github.com/linezero/Blog/tree/master/NETCoreMySQL

MySQL EF Core NuGet 地址:

https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/

命令安装:Install-Package MySql.Data.EntityFrameworkCore -Pre

有兴趣的可以看看,也可以参照我之前的EF Core教程来操作。

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

MySQL官方.NET Core驱动已出,支持EF Core的更多相关文章

  1. NET Core驱动已出,支持EF Core

    NET Core驱动已出,支持EF Core 千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功 ...

  2. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 登录登出 上一章节我们总算完善了注册的功能,而且也添加了一个用户,现 ...

  3. Oracle .NET Core Beta驱动已出,自己动手写EF Core Oracle

    使用.net core也有一段时间了,一直都没有Oracle官方的正式版驱动程序,更别说EF版本了.之前基于Oracle官方的.net core预览版本写了个Dapper的数据库操作实现,但是总感觉不 ...

  4. 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获

    项目开发中的一些注意事项以及技巧总结   1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以 ...

  5. ASP.NET Core使用EF Core操作MySql数据库

    ASP.NET Core操作MySql数据库, 这样整套环境都可以布署在Linux上 使用微软的 Microsoft.EntityFrameworkCore(2.1.4) 和MySql出的 MySql ...

  6. EF Core 2.1 支持数据库一对一关系

    在使用EF Core和设计数据库的时候,通常一对多.多对多关系使用得比较多,但是一对一关系使用得就比较少了.最近我发现实际上EF Core很好地支持了数据库的一对一关系. 数据库 我们先来看看SQL ...

  7. EF Core 2.0 已经支持自动生成父子关系表的实体

    现在我们在SQL Server数据库中有Person表如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Cr ...

  8. 教你10分钟对接人大金仓EF Core 6.x

    前言 目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后).FreeSql和SqlS ...

  9. ASP.NET Core MVC+EF Core从开发到部署

    笔记本电脑装了双系统(Windows 10和Ubuntu16.04)快半年了,平时有时间就喜欢切换到Ubuntu系统下耍耍Linux,熟悉熟悉Linux命令.Shell脚本以及Linux下的各种应用的 ...

随机推荐

  1. linux下tomcat安装

    1.先安装jdk,我们这里用yum进行安装: yum -y install java-1.7.0-openjdk* 确定是否安装成功: java -version 如果显示jdk的版本信息,说明安装成 ...

  2. webpack如何与gulpfile联合的使用

    一.对webpack的一些理解 webpack支持CommonJS的书写形式. CommonJS指一个文件一个模块,但会一次性加载(即同步加载),但在浏览器端不适用这种方式,加载速率什么的,于是引入了 ...

  3. xcode8控制台输出很多日志

    解决方法:command + shift + <,在环境变量里添加图中字段就行了.

  4. android 之httpclient方式提交数据

    HttpClient: 今天实战下httpclient请求网络json数据,解析json数据返回信息,显示在textview, 起因:学校查询饭卡余额,每次都要访问校园网(内网),才可以查询,然后才是 ...

  5. Html5选择本地视频音频文件播放

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. jqueryui 进度条使用

    <title></title> <script src="../Js/NewJs_CFJ/jquery.js" type="text/jav ...

  7. 简单正则匹配QQ邮箱

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  8. Java程序开发.邱加永2.1节

    by2016.9.8 2.7.1 一维数组 1. 声明 int[] m: char[] c: double[] d:   2. 创建 数组声明之后还不能使用,m = new int[10]: c = ...

  9. 从viewport发现小米手机参数不一致

    想要在移动web领域有所深造的小伙伴,第一关要过的就是逻辑像素与设备像素之间的关系. 初入移动web,一定要搞懂的几个单位(DPI.PPI.DP.PX 的详细计算方法及算法来源是什么?): dip(d ...

  10. Python黑帽编程2.6 模块

    Python黑帽编程2.6 模块 我们已经学习了如何在你的程序中定义一次函数而重用代码.如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块.模块基本上就是一个 ...