MySQL官方.NET Core驱动已出,支持EF Core

千呼万唤始出来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

MySQL官方.NET Core驱动已出,支持EF Core

添加引用

使用 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 操作数据库了,更多功能可以查看官方文档。

执行效果:

MySQL官方.NET Core驱动已出,支持EF Core

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教程来操作。

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

上一篇:Linux磁盘及文件系统管理


下一篇:【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化