码迷,mamicode.com
首页 > 移动开发 > 详细

dapper利用DynamicParameters构建动态参数查询

时间:2016-11-02 23:43:20      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:list   mic   ret   uil   name   nfa   构建   str   bug   

var age=23;var name="张";          
StringBuilder condition = new StringBuilder(); condition.Append("where 1=1"); DynamicParameters p = new DynamicParameters(); if (age>0) { condition.Append(" AND Age>@age"); p.Add("@age", age, System.Data.DbType.String);//对于Add方法,第一个参数可以不带@前缀,源代码里有subString(1),就给处理了 } if (!string.IsNullOrWhiteSpace(name))// { condition.Append(" AND ChineseName like @name"); p.Add("@name", "%"+name+"%", System.Data.DbType.String);//对于like语句,源代码的有bug还是故意不处理? 这里必须拼接% } using (var conn = ConnectionFactory.GetOpenConnection()) { var result= conn.GetList<T>(conditions,parameters); }

以上注意两个问题:

1,对于like语句,拼接%

2,Add方法可以不加@前缀,源代码如下,会处理

static string Clean(string name)
        {
            if (!string.IsNullOrEmpty(name))
            {
                switch (name[0])
                {
                    case @:
                    case ::
                    case ?:
                        return name.Substring(1);
                }
            }
            return name;
        }

 

dapper利用DynamicParameters构建动态参数查询

标签:list   mic   ret   uil   name   nfa   构建   str   bug   

原文地址:http://www.cnblogs.com/imust2008/p/6024750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!