示例#1
0
        public IEnumerable <T> QueryList(bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <T>(null, TableName, string.Empty, topCount: null, dbType: WriterDataType);

            return(GetDataAccess(isWrite).Query <T>(query));
        }
        /// <summary>
        /// 获取DTO
        /// </summary>
        /// <typeparam name="TDto"></typeparam>
        /// <param name="condition"></param>
        /// <param name="ignoreFields"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public Task <TDto> GetDtoAsync <TDto>(object condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <TDto>(condition, TableName, string.Empty, topCount: null, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().QuerySingleOrDefaultAsync <TDto>(query));
        }
示例#3
0
        /// <summary>
        /// 异步获取最大值
        /// </summary>
        /// <typeparam name="TProperty">属性</typeparam>
        /// <typeparam name="TReturn">返回类型</typeparam>
        /// <param name="expression">属性表达式</param>
        /// <param name="condition">条件</param>
        /// <param name="isWrite">是否为写连接</param>
        /// <returns>最大值</returns>
        public Task <TReturn> MaxAsync <TProperty, TReturn>(Expression <Func <T, TProperty> > expression, Expression <Func <T, bool> > condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryMaxSqlQuery(expression, TableName, condition, dbType: WriterDataType);

            return(GetDataAccess(isWrite: isWrite).QuerySingleOrDefaultAsync <TReturn>(query));
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public int Delete(object condition)
        {
            SqlQuery query = SqlQueryUtil.BuilderDeleteSqlQuery(condition, TableName, dbType: WriterDataType);

            return(GetDataAccess().ExecuteNonQuery(query));
        }
        /// <summary>
        /// 查询结果数
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public int GetCount(object condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryCountSqlQuery(condition, TableName, dbType: WriterDataType);

            return(GetDataAccess().ExecuteScalar <int>(query));
        }
示例#6
0
        public Task <IEnumerable <TDto> > QueryListAsync <TDto>(string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <TDto>(null, TableName, string.Empty, topCount: null, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess(isWrite).QueryAsync <TDto>(query));
        }
示例#7
0
        public int Update(object data, object condition, string[] ignoreFields = null)
        {
            SqlQuery query = SqlQueryUtil.BuilderUpdateSqlQuery(data, condition, TableName, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteNonQuery(query));
        }
示例#8
0
        /// <summary>
        /// 查询传输对象列表
        /// </summary>
        /// <typeparam name="TDto">传输对象类型</typeparam>
        /// <param name="condition">查询条件</param>
        /// <param name="ignoreFields">要忽略的字段</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>传输对象列表</returns>
        public IEnumerable <TDto> QueryList <TDto>(object condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <TDto>(condition, TableName, ignoreFields: ignoreFields, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).Query <TDto>(query));
        }
示例#9
0
        /// <summary>
        /// 异步查询传输对象列表
        /// </summary>
        /// <typeparam name="TDto">传输对象类型</typeparam>
        /// <param name="condition">查询条件</param>
        /// <param name="ignoreFields">要忽略的字段</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>传输对象列表</returns>
        public Task <IEnumerable <TDto> > QueryListAsync <TDto>(Expression <Func <T, bool> > condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <TDto, T>(condition, TableName, ignoreFields: ignoreFields, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).QueryAsync <TDto>(query));
        }
示例#10
0
        /// <summary>
        /// 查询列表
        /// </summary>
        /// <param name="condition">查询条件</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>列表</returns>
        public IEnumerable <T> QueryList(object condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery(condition, TableName, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).Query <T>(query));
        }
示例#11
0
        /// <summary>
        /// 异步查询列表
        /// </summary>
        /// <param name="condition">查询条件</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>列表</returns>
        public Task <IEnumerable <T> > QueryListAsync(Expression <Func <T, bool> > condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery(condition, TableName, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).QueryAsync <T>(query));
        }
示例#12
0
        /// <summary>
        /// 获取传输对象
        /// </summary>
        /// <typeparam name="TDto">传输对象类型</typeparam>
        /// <typeparam name="TProperty">排序字段</typeparam>
        /// <param name="condition">查询条件</param>
        /// <param name="orderExpression">排序条件</param>
        /// <param name="ignoreFields">忽略的字段</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>传输对象</returns>
        public TDto GetDto <TDto, TProperty>(Expression <Func <T, bool> > condition, Expression <Func <T, TProperty> > orderExpression, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryTopSqlQuery <TDto, T, TProperty>(condition, orderExpression, TableName, topCount: 1, ignoreFields: ignoreFields, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).QuerySingleOrDefault <TDto>(query));
        }
示例#13
0
        /// <summary>
        /// 获取传输对象
        /// </summary>
        /// <typeparam name="TDto">传输对象类型</typeparam>
        /// <param name="condition">查询条件</param>
        /// <param name="ignoreFields">忽略的字段</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>传输对象</returns>
        public TDto GetDto <TDto>(object condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryTopSqlQuery <TDto>(condition, TableName, topCount: 1, ignoreFields: ignoreFields, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).QuerySingleOrDefault <TDto>(query));
        }
示例#14
0
        /// <summary>
        /// 异步获取单个对象
        /// </summary>
        /// <param name="condition">获取条件</param>
        /// <param name="ignoreFields">忽略的字段</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>传输对象</returns>
        public Task <T> GetInfoAsync(object condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryTopSqlQuery(condition, TableName, topCount: 1, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).QuerySingleOrDefaultAsync <T>(query));
        }
示例#15
0
        public IEnumerable <TDto> QueryList <TDto>(Expression <Func <T, bool> > condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <TDto>(condition, TableName, string.Empty, topCount: null, dbType: WriterDataType);

            return(GetDataAccess(isWrite).Query <TDto>(query));
        }
示例#16
0
        /// <summary>
        /// 查询数量
        /// </summary>
        /// <param name="condition">查询条件</param>
        /// <param name="isWrite">是否为写连接(事务中使用)</param>
        /// <returns>范总数量</returns>
        public int QueryCount(Expression <Func <T, bool> > condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryCountSqlQuery(condition, TableName, dbType: isWrite ? WriterDataType : ReaderDataType);

            return(GetDataAccess(isWrite: isWrite).ExecuteScalar <int>(query));
        }
示例#17
0
        public Task <IEnumerable <T> > QueryListAsync(object condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <T>(condition, TableName, string.Empty, topCount: null, dbType: WriterDataType);

            return(GetDataAccess(isWrite).QueryAsync <T>(query));
        }
示例#18
0
        /// <summary>
        /// 获取模型
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="ignoreFields"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public T GetInfo(object condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <T>(condition, TableName, string.Empty, topCount: null, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteScalar <T>(query));
        }
示例#19
0
        /// <summary>
        /// 分页查询(目前只支持MSSQLServer)
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="selectColumn">需要查询的指定字段(多个之间用逗号隔开)</param>
        /// <param name="selectTable">需要查询的表</param>
        /// <param name="where">查询条件</param>
        /// <param name="order">排序</param>
        /// <param name="pageIndex">当前页</param>
        /// <param name="pageSize">一页显示条目</param>
        /// <param name="cmdParms">条件值</param>
        /// <returns>分页查询结果</returns>
        protected IEnumerable <TModel> PageQuery <TModel>(string selectColumn, string selectTable, string where, string order, int pageIndex, int pageSize, object cmdParms = null)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryPageSqlQuery(selectColumn, selectTable, where, order, pageIndex, pageSize, dbType: ReaderDataType, cmdParms: cmdParms);

            return(GetDataAccess(isWrite: false).Query <TModel>(query));
        }
示例#20
0
        /// <summary>
        /// 获取模型
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="ignoreFields"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public T GetInfo(Expression <Func <T, bool> > condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryTopSqlQuery <T>(condition, TableName, topCount: 1, dbType: ReaderDataType);

            return(GetDataAccess().ExecuteScalar <T>(query));
        }
示例#21
0
        public Task <int> UpdateAsync(object data, Expression <Func <T, bool> > condition, string[] ignoreFields = null)
        {
            SqlQuery query = SqlQueryUtil.BuilderUpdateSqlQuery(data, condition, TableName, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteNonQueryAsync(query));
        }
示例#22
0
        /// <summary>
        /// 获取模型
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="ignoreFields"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public Task <T> GetInfoAsync(Expression <Func <T, bool> > condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQuerySqlQuery <T>(condition, TableName, string.Empty, topCount: null, ignoreFields: ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteScalarAsync <T>(query));
        }
        /// <summary>
        /// 删除(异步)
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public Task <int> DeleteAsync(Expression <Func <T, bool> > condition)
        {
            SqlQuery query = SqlQueryUtil.BuilderDeleteSqlQuery(condition, TableName, dbType: WriterDataType);

            return(GetDataAccess().ExecuteNonQueryAsync(query));
        }
示例#24
0
        public Task <object> InsertAsync(T info, string keyName = null, string[] ignoreFields = null, bool isIdentity = true)
        {
            SqlQuery query = SqlQueryUtil.BuilderInsertSqlQuery <T>(info, TableName, keyName, ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteScalarAsync <object>(query));
        }
        /// <summary>
        /// 查询结果数
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public Task <int> GetCountAsync(Expression <Func <T, bool> > condition, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryCountSqlQuery(condition, TableName, dbType: WriterDataType);

            return(GetDataAccess().ExecuteScalarAsync <int>(query));
        }
示例#26
0
        public Task InsertManyAsync(List <T> infoList, string keyName = null, string[] ignoreFields = null, bool isIdentity = true)
        {
            SqlQuery query = SqlQueryUtil.BuilderInsertManySqlQuery(infoList, TableName, keyName, ignoreFields, dbType: WriterDataType);

            return(GetDataAccess().ExecuteNonQueryAsync(query));
        }
        /// <summary>
        /// 获取DTO
        /// </summary>
        /// <typeparam name="TDto"></typeparam>
        /// <param name="condition"></param>
        /// <param name="ignoreFields"></param>
        /// <param name="isWrite"></param>
        /// <returns></returns>
        public Task <TDto> GetDtoAsync <TDto>(Expression <Func <T, bool> > condition, string[] ignoreFields = null, bool isWrite = false)
        {
            SqlQuery query = SqlQueryUtil.BuilderQueryTopSqlQuery <T>(condition, TableName, topCount: 1, dbType: ReaderDataType);

            return(GetDataAccess().QuerySingleOrDefaultAsync <TDto>(query));
        }
示例#28
0
        /// <summary>
        /// 插入多条数据
        /// </summary>
        /// <param name="infoList">要插入的数据列表</param>
        /// <param name="keyName">主键名字</param>
        /// <param name="ignoreFields">要忽略的字段</param>
        /// <param name="isIdentity">是否自增</param>
        public void InsertMany(List <T> infoList, string keyName = null, string[] ignoreFields = null, bool isIdentity = true)
        {
            SqlQuery query = SqlQueryUtil.BuilderInsertManySqlQuery(infoList, TableName, keyName: keyName, ignoreFields: ignoreFields, isIdentity: isIdentity, dbType: WriterDataType);

            GetDataAccess().ExecuteNonQuery(query);
        }