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