示例#1
0
        /// <summary>
        /// 执行SQL 语句,并返回由 T 指定的对象
        /// </summary>
        /// <typeparam name="T">基元类型、单实体、列表(List&lt;T&gt;)、DataTable、DataSet</typeparam>
        /// <param name="query">查询语句</param>
        /// <returns></returns>
        public virtual T Execute <T>(IDbQueryable query)
        {
            DbRawCommand command = query.Translate();
            IDbCommand   cmd     = this.CreateCommand(command);

            return(this.Execute <T>(cmd, command as IMapDescriptor));
        }
示例#2
0
        /// <summary>
        /// 执行 SQL 语句,并返回受影响的行数
        /// </summary>
        /// <param name="query">SQL 命令</param>
        public int ExecuteNonQuery(IDbQueryable query)
        {
            var        cmd     = query.Translate();
            IDbCommand command = this.CreateCommand(cmd);

            return(this.ExecuteNonQuery(command));
        }
示例#3
0
        /// <summary>
        /// 异步执行SQL 语句,并返回由 T 指定的对象
        /// </summary>
        /// <typeparam name="T">基元类型、单实体、列表(List&lt;T&gt;)、DataTable、DataSet</typeparam>
        /// <param name="query">SQL 命令</param>
        /// <returns></returns>
        public virtual async Task <T> ExecuteAsync <T>(IDbQueryable query)
        {
            DbRawCommand cmd     = query.Translate();
            IDbCommand   command = this.CreateCommand(cmd);

            return(await this.ExecuteAsync <T>(command, cmd as IMapDescriptor));
        }
示例#4
0
        /// <summary>
        /// 执行SQL 语句,并返回 <see cref="IDataReader"/> 对象
        /// </summary>
        /// <param name="query">查询语义</param>
        /// <returns></returns>
        public IDataReader ExecuteReader(IDbQueryable query)
        {
            IDbCommand cmd = this.CreateCommand(query.Translate());

            return(this.ExecuteReader(cmd));
        }
示例#5
0
        /// <summary>
        /// 执行SQL 语句,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行
        /// </summary>
        /// <param name="query">查询语义</param>
        /// <returns></returns>
        public object ExecuteScalar(IDbQueryable query)
        {
            IDbCommand cmd = this.CreateCommand(query.Translate());

            return(this.ExecuteScalar(cmd));
        }