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

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
H
Heimdal Security Blog
S
Secure Thoughts
Help Net Security
Help Net Security
The Hacker News
The Hacker News
T
Threatpost
T
Troy Hunt's Blog
T
Threat Research - Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
WordPress大学
WordPress大学
TaoSecurity Blog
TaoSecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
阮一峰的网络日志
阮一峰的网络日志
Security Latest
Security Latest
Forbes - Security
Forbes - Security
The Last Watchdog
The Last Watchdog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
Google Online Security Blog
Google Online Security Blog
N
Netflix TechBlog - Medium
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
S
Securelist
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
G
GRAHAM CLULEY
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
C
Cisco Blogs
量子位
有赞技术团队
有赞技术团队
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
T
The Exploit Database - CXSecurity.com
MyScale Blog
MyScale Blog
A
Arctic Wolf
T
Tenable Blog
P
Privacy & Cybersecurity Law 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();