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