/// <summary> /// 执行SQL 语句,并返回由 T 指定的对象 /// </summary> /// <typeparam name="T">基元类型、单实体、列表(List<T>)、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)); }
/// <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)); }
/// <summary> /// 异步执行SQL 语句,并返回由 T 指定的对象 /// </summary> /// <typeparam name="T">基元类型、单实体、列表(List<T>)、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)); }
/// <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)); }
/// <summary> /// 执行SQL 语句,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行 /// </summary> /// <param name="query">查询语义</param> /// <returns></returns> public object ExecuteScalar(IDbQueryable query) { IDbCommand cmd = this.CreateCommand(query.Translate()); return(this.ExecuteScalar(cmd)); }