• NET Core驱动已出,支持EF Core


    NET Core驱动已出,支持EF Core

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

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

    NuGet 地址:

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

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

    新建项目

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

     

    添加引用

    使用 NuGet 控制台添加

    Install-Package MySql.Data.Core -Pre
    
    Install-Package Dapper

    MySQL 增删查改

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

    测试所用MySQL脚本:

    复制代码
    CREATE DATABASE `test` 
    
    CREATE TABLE `user` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,
      `UserName` varchar(255) DEFAULT NULL,
      `Url` varchar(255) DEFAULT NULL,
      `Age` int(11) 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教程来操作。

  • 相关阅读:
    PHP用*号替代姓名除第一个字之外的字符
    苹果笔记本下载的应用打不开或提示损坏怎么办
    codeigniter教程:Codeigniter出现Unable to connect to your databas
    Python3.6.0安装
    某游戏应用的redis 数据库结构设计(转)
    True(False) Positives (Negatives), 召回率和精度定义
    儿童书库
    年轻人必须知道的71个做饭技巧
    20种泡菜做法[3到5天就可以吃了]
    读懂此文——股市就是你的取款机
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5808596.html
Copyright © 2020-2023  润新知