.net core系列之《.net core中使用MySql以及Dapper》
2018-09-30 17:07
826 查看
当我们决定使用.Net Core开发的时候,就放弃使用SqlServer的打算吧。那应该选择哪个数据库呢?一般选择MySql的比较多。
接下来我们来演示在.Net Core中使用MySQL吧。
1、原生模式(不要忘记安装 MySql.Data )
class Users { public int Id { get; set; } public string Name { get; set; } public string UserName { get; set; } public string Password { get; set; } public string Email { get; set; } }
static void Main(string[] args) { var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;"; string sql = "SELECT * FROM Users"; List<Users> users = new List<Users>(); using (MySqlConnection conn = new MySqlConnection(connString)) { conn.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, conn)) { MySqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { users.Add(new Users { Id = Convert.ToInt32(dr["Id"]), Name = dr["Name"].ToString(), UserName = dr["UserName"].ToString(), Password = dr["Password"].ToString(), Email = dr["Email"].ToString(), }); } } } users.ForEach(u => { Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}"); }); Console.ReadKey(); }
结果如下:
2、MySqlHelper类:MySql.Data命名空间下为我们封装好了一个MySqlHelper类,一些基本常用的操作都给我们封装好了
static void Main(string[] args) { var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;"; string sql = "INSERT INTO Users(Name,UserName,Password,Email) VALUES ('tangsan','tangsan','123456','55@qq.com')"; List<Users> users = new List<Users>(); int result = MySqlHelper.ExecuteNonQuery(connString, sql); Console.WriteLine($"result={result}"); sql = "SELECT * FROM Users"; MySqlDataReader dr = MySqlHelper.ExecuteReader(connString, sql); while (dr.Read()) { users.Add(new Users { Id = Convert.ToInt32(dr["Id"]), Name = dr["Name"].ToString(), UserName = dr["UserName"].ToString(), Password = dr["Password"].ToString(), Email = dr["Email"].ToString(), }); } users.ForEach(u => { Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}"); }); Console.ReadKey(); }
结果如下:
由上面的代码可以看出,动作查询还是很方便的,但是查询一个集合的时候还是挺麻烦的,接下来我们用Dapper来试试吧:
我们可以看出这个类是没有扩展方法的,现在我们打开NuGet安装包安装Dapper后再来看看
这就是Dapper为MySqlConnection类封装的扩展类。
static void Main(string[] args) { var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;"; string sql = "SELECT * FROM Users"; IEnumerable<Users> users = new List<Users>(); { using (MySqlConnection conn = new MySqlConnection(connString)) { conn.Open(); users= conn.Query<Users>(sql); } users.ToList().ForEach(u => { Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}"); }); } Console.ReadKey(); }
结果如下:
相关文章推荐
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- .net core系列之《.net core中使用集成IDistributedCache接口的Redis和MongoDB实现分布式缓存》
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- asp.net core使用mysql.data和dapper操作mysql数据库
- dotnetCore系列:使用Visual Studio code 创建DotNet Core 1.0应用并调试(1)
- Ubuntu Server 16.04下ASP.NET Core Web Api + MySql + Dapper在 Jexus、nginx 下的简单测试
- 尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)
- [置顶]MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等
- ASP.NET Core:使用EntityFrameworkCore操作MySql来丰富仓储模块
- 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证
- ASP .Net Core 使用 Dapper 轻型ORM框架
- 【EntityFramework系列教程三,翻译】在ASP.NET MVC程序中使用EntityFramework对数据进行排序、过滤筛选以及实现分页
- .NET CORE 使用Dapper连接MSSQL,MYSQL
- 详解在ASP.NET Core中使用Angular2以及与Angular2的Token base身份认证
- Asp.Net Core 项目搭建 基础配置 和MySql 的使用
- MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等
- ASP .Net Core 使用 Dapper 轻型ORM框架
- .NET Core 使用Dapper 操作MySQL
- Asp.Net Core使用MySql.Data连接MySql示例