Exemplo n.º 1
0
        /// <summary>
        /// 获取默认一条数据,没有则为NULL
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static T Get <T>(this DbBase dbs, int id) where T : class
        {
            var      db  = dbs.DbConnecttion;
            SqlQuery sql = SqlQuery <T> .Builder(dbs);

            return(db.Query <T>(sql.Get(id)).SingleOrDefault());
        }
Exemplo n.º 2
0
        /// <summary>
        /// 用SQL语句查询
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static IList <T> QuerySQL <T>(this DbBase dbs, string sql = null, object param = null) where T : class
        {
            var db     = dbs.DbConnecttion;
            var result = db.Query <T>(sql, param);

            return(result.ToList());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 用SQL语句来更新数据
        /// </summary>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public static bool UpdateSql(this DbBase dbs, string sql, object param)
        {
            var db = dbs.DbConnecttion;
            var f  = db.Execute(sql, param);

            return(f > 0);
        }
Exemplo n.º 4
0
        public static IEnumerable getList <T>(this DbBase dbs, string sql, out int pageCount) where T : class
        {
            var db     = dbs.DbConnecttion;
            var result = db.Query <T>(sql);

            pageCount = result.Count();
            return(result);
        }
Exemplo n.º 5
0
        public static bool  Delete <T>(this DbBase dbs, int id) where T : class
        {
            var      db  = dbs.DbConnecttion;
            SqlQuery sql = SqlQuery <T> .Builder(dbs);

            int record = db.Execute(sql.Delete(id));

            return(record > 0);
        }
Exemplo n.º 6
0
        /// <summary>
        ///  批量插入数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="lt"></param>
        /// <param name="transaction"></param>
        /// <param name="commandTimeout"></param>
        /// <returns></returns>
        public static bool InsertBatch <T>(this DbBase dbs, IList <T> lt, IDbTransaction transaction = null, int?commandTimeout = null) where T : class
        {
            var db  = dbs.DbConnecttion;
            var sql = SqlQuery <T> .Builder(dbs);

            var flag = db.Execute(sql.InsertSql, lt, transaction, commandTimeout);

            return(flag == lt.Count);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 按条件删除
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static bool Delete <T>(this DbBase dbs, SqlQuery sql = null) where T : class
        {
            var db = dbs.DbConnecttion;

            if (sql == null)
            {
                sql = SqlQuery <T> .Builder(dbs);
            }
            var f = db.Execute(sql.DeleteSql, sql.Param);

            return(f > 0);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 数据数量
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static long Count <T>(this DbBase dbs, SqlQuery sql = null) where T : class
        {
            var db = dbs.DbConnecttion;

            if (sql == null)
            {
                sql = SqlQuery <T> .Builder(dbs);
            }
            var cr = db.Query(sql.CountSql, sql.Param).SingleOrDefault();

            return((long)cr.DataCount);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static IList <T> Query <T>(this DbBase dbs, SqlQuery sql = null) where T : class
        {
            var db = dbs.DbConnecttion;

            if (sql == null)
            {
                sql = SqlQuery <T> .Builder(dbs);
            }
            var result = db.Query <T>(sql.QuerySql, sql.Param);

            return(result.ToList());
        }
Exemplo n.º 10
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t">如果sql为null,则根据t的主键进行修改</param>
        /// <param name="sql">按条件修改</param>
        /// <returns></returns>
        public static bool Update <T>(this DbBase dbs, T t, SqlQuery sql = null) where T : class
        {
            var db = dbs.DbConnecttion;

            if (sql == null)
            {
                sql = SqlQuery <T> .Builder(dbs);
            }
            sql = sql.AppendParam <T>(t);
            var f = db.Execute(sql.UpdateSql, sql.Param);

            return(f > 0);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 获取默认一条数据,没有则为NULL
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static T SingleOrDefault <T>(this DbBase dbs, SqlQuery sql) where T : class
        {
            var db = dbs.DbConnecttion;

            if (sql == null)
            {
                sql = SqlQuery <T> .Builder(dbs);
            }
            sql = sql.Top(1);
            var result = db.Query <T>(sql.QuerySql, sql.Param);

            return(result.FirstOrDefault());
        }
Exemplo n.º 12
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t"></param>
        /// <param name="transaction"></param>
        /// <param name="commandTimeout"></param>
        /// <returns></returns>
        public static int  Insert <T>(this DbBase dbs, T t, IDbTransaction transaction = null, int?commandTimeout = null) where T : class
        {
            var db  = dbs.DbConnecttion;
            var sql = SqlQuery <T> .Builder(dbs);

            var flag = db.ExecuteScalar(sql.InsertSql, t, transaction, commandTimeout);
            int id   = 0;

            if (flag != null)
            {
                return(int.Parse(flag.ToString()));
            }
            else
            {
                return(id);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <typeparam name="T">实体</typeparam>
        /// <param name="dbs">上下文</param>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">页记录数</param>
        /// <param name="dataCount">记录总数</param>
        /// <param name="sqlQuery">组装sql语句类</param>
        /// <returns></returns>
        public static IList <T> Page <T>(this DbBase dbs, int pageIndex, int pageSize, out long dataCount, SqlQuery sqlQuery = null) where T : class
        {
            var db     = dbs.DbConnecttion;
            var result = new List <T>();

            dataCount = 0;
            if (sqlQuery == null)
            {
                sqlQuery = SqlQuery <T> .Builder(dbs);
            }
            sqlQuery = sqlQuery.Page(pageIndex, pageSize);
            var para = sqlQuery.Param;
            var cr   = db.Query(sqlQuery.CountSql, para).SingleOrDefault();

            dataCount = (long)cr.DataCount;
            result    = db.Query <T>(sqlQuery.PageSql, para).ToList();
            return(result);
        }