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

推荐订阅源

B
Blog RSS Feed
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Scott Helme
Scott Helme
S
Securelist
美团技术团队
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
AI
AI
L
Lohrmann on Cybersecurity
S
Security Affairs
Cloudbric
Cloudbric
SecWiki News
SecWiki News
爱范儿
爱范儿
雷峰网
雷峰网
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
I
InfoQ
S
Secure Thoughts
AWS News Blog
AWS News Blog
A
About on SuperTechFans
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
The Last Watchdog
The Last Watchdog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Check Point Blog
P
Palo Alto Networks Blog
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News
Latest news
Latest news
I
Intezer
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
D
Docker

博客园 - 上官帅帅

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();