轻量级ORM框架 第二篇:Dapper
Posted BabyR
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻量级ORM框架 第二篇:Dapper相关的知识,希望对你有一定的参考价值。
1. in操作
IDbConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DapperTest;Integrated Security=True;MultipleActiveResultSets=True"); var sql = "select * from Users where Email in @emails"; var info = connection.Query<Users>(sql, new { emails = new string[2] { "1QQ", "7QQ" } });
2. 多条sql执行
IDbConnection connection = new SqlConnection("Data Source=.;Initial Catalog=DapperTest;Integrated Security=True;MultipleActiveResultSets=True"); var sql = "select * from Product; select * from Users"; var multiReader = connection.QueryMultiple(sql); var productList = multiReader.Read<Product>(); var userList = multiReader.Read<Users>(); multiReader.Dispose();
3.多表join操作
var sql = @"select p.ProductName,p.CreateTime,u.UserName from Product as p join Users as u on p.UserID = u.UserID where p.CreateTime > \'2019-1-1\'; "; var result = connection.Query<Product, Users,Product>(sql, (product, users) => { product.UsersOwner = users; return product; },splitOn:"UserName");
4.支持存储过程
use DapperTest set ansI_nulls on go set quoted_identifier on go create proc [dbo].[sp_GetUsers] @id int as begin select * from Users where UserID = @id ; end
var info = connection.Query<Users>("sp_GetUsers", new { id = 10 }, commandType: CommandType.StoredProcedure);
以上是关于轻量级ORM框架 第二篇:Dapper的主要内容,如果未能解决你的问题,请参考以下文章