惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
B
Blog
U
Unit 42
C
Check Point Blog
I
InfoQ
aimingoo的专栏
aimingoo的专栏
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
爱范儿
爱范儿

博客园 - 上官帅帅

vue3 - 01 路由的配置和使用 vue 环境配置 vue html DOM树对象 idea maven pom配置文件 .net core dapper (5) .net core dapper (3) .net core dapper (2) .net core dapper (1) c# 异步 async await jq_js window 使用vagrant搭建开发开发环境 判断元素的属性是否存在 js 查找树节点 数组去重 redis 基础知识 jQuey知识点三 解析json数据 mysql 基础操作一 ruby 基础知识三 读写文件 Active Record 数据迁移
.net core dapper (4)
上官帅帅 · 2019-11-27 · via 博客园 - 上官帅帅

0.0 又被蹩脚的英语无情的打脸

  我决定明天开始每天学习英语 30min,在我的日志中记录学习进度

1.为什么使用 dapper? 如果像我之前的例子一个简单的查询都需要在项目中拼接sql 的话那还不如用 ado.net 来的爽一些

   所以最终的目的还是在项目中省去那些烦人的简单的 sql ,所以就有了今天的这篇基于dapper 扩展的例子

 主要参考这两个网址

 https://dapper-tutorial.net/dapper-plus-third-party-library

 https://dapper-tutorial.net/async

 1 //DapperExtensions
 2             //1.get
 3             using (SqlConnection cn = new SqlConnection(connectionString))
 4             {
 5                 cn.Open();
 6                 var personId = "627BE471-252B-4FF1-BE57-732AC063035A";
 7                 var order = cn.Get<Order>(personId);
 8                 cn.Close();
 9             }
10 
11             //2.insert
12             using (SqlConnection cn = new SqlConnection(connectionString))
13             {
14                 cn.Open();
15                 Order order = new Order() { OrderId = Guid.NewGuid(), Address = "河南", OrderCode = "5675656", TotalPrice = 3000, UserName = "王五" };
16                 //insert 方返回 dynamic 类型的 主键
17                 var orderInsert = cn.Insert<Order>(order);
18                 cn.Close();
19             }
20 
21             //dapper.mapper
22             using (var connection = new SqlConnection(connectionString))
23             {
24                 var sql = @"select * from [dbo].[Order] inner join OrderDetail on [dbo].[Order].OrderId=OrderDetail.Orderid;";
25                 connection.Open();
26 
27                 var orders = connection.Query<Order, OrderDetail,(Order,OrderDetail)> (
28                         sql,
29                         (order, orderDetail) =>
30                         {
31                             order.OrderId= orderDetail.OrderId;
32                             return (order, orderDetail);
33                         },
34                         splitOn: "OrderId");
35             }
36             Console.ReadKey();