zoukankan      html  css  js  c++  java
  • 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教程来操作。

  • 相关阅读:
    IOS开发中实现UITableView按照首字母将集合进行检索分组
    IOS开发中设置导航栏主题
    IOS中使用.xib文件封装一个自定义View
    IOS中将字典转成模型对象
    WindowsPhone8中LongListSelector的扩展解决其不能绑定SelectdeItem的问题
    WindowsPhone8.1 开发-- 二维码扫描
    tomcat 开机自启
    redis ubuntu 开机自启
    webStorm 中使用 supervisor 调试
    ubuntu 14.04 tab失效问题
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5808596.html
Copyright © 2011-2022 走看看