.net core dapper (4)

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

 

posted @ 2019-11-27 21:55  上官帅帅  阅读(209)  评论(0编辑  收藏  举报