コード例 #1
0
        /// <summary>
        /// 根据条件批量删除数据
        /// </summary>
        /// <param name="cmd">删除命令实例</param>
        /// <param name="predicate">WHERE匹配谓词实例</param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static bool DeleteWhere <T> (this DeleteCommand cmd, SqlPredicate <T> predicate)
            where T : class, new ()
        {
            var(sbSql, parameters) = cmd.GetSql(predicate);

            var deleted = cmd.Connection.Execute(sbSql, parameters,
                                                 cmd.Transaction, commandTimeout: cmd.TimeoutSeconds);

            return(deleted > 0);
        }
コード例 #2
0
        /// <summary>
        /// 根据条件批量更新数据
        /// </summary>
        /// <param name="cmd">更新命令实例</param>
        /// <param name="predicate">WHERE匹配谓词实例</param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static bool UpdateWhere <T> (this UpdateCommand cmd, SqlPredicate <T> predicate)
            where T : class, new ()
        {
            var(sbSql, parameters) = cmd.GetSql(
                predicate,
                getSetSql: (adapter, dyncParms) => GetSetSql <T> (
                    adapter, dyncParms, predicate.Condition, cmd.UpdateFields));

            var updated = cmd.Connection.Execute(sbSql, parameters,
                                                 cmd.Transaction, commandTimeout: cmd.TimeoutSeconds);

            return(updated > 0);
        }
コード例 #3
0
 /// <summary>
 /// 查询
 /// </summary>
 /// <param name="cmd">选择命令实例</param>
 /// <param name="predicate">WHERE匹配谓词实例</param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static (long Count, IEnumerable <T> Items) GetWhere <T> (this SelectCommand cmd, SqlPredicate <T> predicate)
コード例 #4
0
 /// <summary>
 /// 查询
 /// </summary>
 /// <param name="conn">连接实例</param>
 /// <param name="predicate">WHERE匹配谓词实例</param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static (long Count, IEnumerable <T> Items) GetWhere <T> (this IDbConnection conn, SqlPredicate <T> predicate)
コード例 #5
0
 /// <summary>
 /// 获取SQL语句
 /// </summary>
 /// <param name="cmd"></param>
 /// <param name="predicate"></param>
 /// <param name="getSetSql"></param>
 /// <param name="getExtWhereSql"></param>
 /// <returns></returns>
 private static (string, DynamicParameters) GetSql <T> (this Command cmd, SqlPredicate <T> predicate,
                                                        Func <ISqlAdapter /*adapter*/, DynamicParameters /*dyncParms*/, string> getSetSql = null,
                                                        Action <ISqlAdapter /*adapter*/, StringBuilder /*sbSql*/> getExtWhereSql          = null)