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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值