dapper利用DynamicParameters构建动态参数查询
public static int GetTotalLogin(string username,DateTime start, DateTime end) { using (var _connection = ConnectionFactory.GetOpenConnection()) { DynamicParameters pars = new DynamicParameters(); string str = " where Level=@Level and Url=@Url and Logged between @start and @end"; if (!string.IsNullOrEmpty(username)) { pars.Add("username", username); str = str + " and username like %@username%"; } pars.Add("start", start, System.Data.DbType.DateTime); pars.Add("end", end, System.Data.DbType.DateTime); pars.Add("level", "Info"); pars.Add("Url", "/Account/CheckToken"); return _connection.QueryFirstOrDefault<int>("select count(*) from NLog " + str, pars); } }
对于like语句,拼接%