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

原文:https://www.cnblogs.com/BabyRui/p/10215923.html