DotNetCore跨平台~Dapper的使用

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

Dapper作为小型ORM的代表作品被我们应用到了dotnet core的项目中,下面将把自己在项目中使用dapper进行curd操作的过程写一下,后期可能会遇到一些问题,大叔也会在这个系列之中进行完善,希望对各位学生有所帮助!

一 安装nuget的dapper包包

二 在startup中注册dapper仓储,并现时注册数据库类型和数据库连接串,因为在mysql和sqlserver中,它们的连接串是不同的,模块化设计请看大叔这篇文章

DotNetCore跨平台~组件化时代来了

     services.UseLog4Logger(o =>
            {
                o.Log4ConfigFileName = "log4.config";
                o.ProjectName = "test";
            }).UseDapper(o =>
            {
                o.ConnString = "Server=localhost;DataBase=test2;UID=root;Password=root;charset=utf8;port=3306;SslMode=None";
                o.DbType = DbType.MySql;
            }).UseDefaultMQ();

三 进行我们的增删改查的操作,主要把测试中的代码用例复制出来,供大家参考

           //建立链接
            var conn = new MySql.Data.MySqlClient.MySqlConnection(config_config);

            //简单select
            var dt = conn.Query<userinfo>("select * from userinfo where UserName=@username", new
            {
                username = "花样百出@sina.com"
            });

            var dt1 = conn.Query<userinfo>("select * from userinfo where UserName=@username", new
            {
                username = "花样百出@sina.com"
            }).Select(o => new
            {
                name = o.UserName
            });

            //inner join & left join
            var dt2 = conn.Query<userinfo, userlogs, userlogDTO>(
                "select *  from userinfo a " +
                "INNER JOIN  userlogs b on a.Id=b.UserId " +
                "where a.userName=@username", (user, logs) =>
                {
                    return new userlogDTO
                    {
                        Id = user.Id,
                        Name = user.UserName,
                        Content = logs.Content,
                        Time = user.AddTime,
                    };
                }, splitOn: "Id,UserId", param: new { username = "test" });

            //insert
            conn.Execute("insert into userinfo (username,addtime) values (@username,@addtime)", new { username = "zzltest", addtime = DateTime.Now });

            //update
            conn.Execute("update userinfo set username=@newname where username=@oldname", new { oldname = "zzltest", newname = "zzlmodify" });

            //delete
            conn.Execute("delete userinfo where username=@name", new { name = "test" });

本篇文章比较基础,主要面向刚开始使用Dapper的同学!

感谢阅读!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:DotNetCore跨平台~Dapper的使用,如需转载请自行联系原博主。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
关系型数据库 API 数据库
盘点10个.NetCore实用的开源框架项目
盘点10个.NetCore实用的开源框架项目
314 0
盘点10个.NetCore实用的开源框架项目
|
4月前
|
开发框架 NoSQL Go
GoFrame v2.5 版本发布,企业级 Golang 开发框架
GoFrame v2.5 版本发布,企业级 Golang 开发框架
|
设计模式 数据可视化 JavaScript
dlvm-netcore 开源框架
DLVM 是一个集数据库、逻辑、视图及模型为一体的并涵盖了常用基础套件,以 NetCore 为主的底层框架。具备安全性、可扩展性、可配置性及可视化操作等优点,并且具有一键创建模块的功能。
141 0
dlvm-netcore 开源框架
|
关系型数据库 数据库
|
NoSQL 微服务 消息中间件
|
测试技术 持续交付 容器