Dapper用法小记

https://github.com/StackExchange/Dapper

 dapper in 查询

string sql = "SELECT * FROM SomeTable WHERE id IN @ids"
var results = conn.Query(sql, new { ids = new[] { 1, 2, 3, 4, 5 });

dapper 写查询sql 时,多条件参数操作方法

var args = new DynamicParameters(new {});
   if (obj.orderId != null)
   {
        sb.Append(" AND OrderId = @OrderId");
        args.Add("OrderId", obj.orderId);
    }
    if (obj.clientName != null)
   {
        sb.Append("  AND b.Name = @ClientName");
        args.Add("ClientName", obj.clientName); 
    }
conn.Query<TModel>(sql, args );  
var args = new DynamicParameters(new {});
parameters.ForEach(p => args.Add(p.ParameterName, p.Value));
conn.Query<TModel>(sql, args );

QueryMultiple执行多个查询

            string sql = @"
                            select top 1 * from Order WITH (NOLOCK) where Disabled=0 and OrderId=@OrderId;
                            SELECT d.*, b.ActualAmount from Details d WITH (NOLOCK) LEFT JOIN BarCode b WITH (NOLOCK) ON d.OrderDetailsId = b.OrderDetailsId AND b.Disabled = 0 where d.Disabled=0 AND d.OrderId=@OrderId;
                            ";
            var parameter = new
            {
                OrderId = orderId
            };

            using (var multi = Connection.QueryMultiple(sql, parameter))
            {
                var order = multi.ReadFirstOrDefault<ModelOrder>();
                if (order != null)
                {
                    order.Details = multi.Read<ModelOrderDetail>() as ICollection<ModelOrderDetail>;
                }

                return order;
            }

缩写词:

POCO's (plain old CLR objects)

apper--.NET(C#)的一款高性能ORM组件

http://2sharings.com/2014/dapper-net-orm-introduction

DapperExtensions的地址: https://github.com/tmsmith/Dapper-Extensions

原文地址:https://www.cnblogs.com/shy1766IT/p/6500827.html