public Tuple <IEnumerable <A>, IEnumerable <B> > Muilt <A, B>(string muilSql, object paramObj = null)
 {
     using (var muilt = CurConn.QueryMultiple(muilSql, paramObj))
     {
         var one = muilt.Read <A>();
         var two = muilt.Read <B>();
         return(Tuple.Create <IEnumerable <A>, IEnumerable <B> >(one, two));
     }
 }
        public IDbTransaction BeginTran()
        {
            if (CurTran != null)
            {
                return(CurTran);
            }

            CurConn.Open();
            CurTran = CurConn.BeginTransaction();
            return(CurTran);
        }
        public Tuple <IEnumerable <T>, int> Page <T>(string countSql, string dataSql, object paramObj = null)
        {
            using (var muilt = CurConn.QueryMultiple(string.Format("{0};{1}", countSql, dataSql), paramObj))
            {
                int count = muilt.Read <int>().FirstOrDefault();
                if (count <= 0)
                {
                    return(new Tuple <IEnumerable <T>, int>(new List <T>(), 0));
                }

                var data = muilt.Read <T>();
                return(new Tuple <IEnumerable <T>, int>(data, count));
            }
        }
 public void Dispose()
 {
     //销毁事务
     if (CurTran != null)
     {
         CurTran.Dispose();
         CurTran = null;
     }
     //销毁连接
     if (CurConn != null && CurConn.State == ConnectionState.Open)
     {
         CurConn.Dispose();
         CurConn.Close();
         CurConn = null;
     }
 }
 public bool Clear <T>() where T : class, new()
 {
     return(CurConn.DeleteAll <T>());
 }
 public long Add <T>(T model) where T : class, new()
 {
     return(CurConn.Insert <T>(model));
 }
 public Task <bool> RemoveAsync <T>(T model) where T : class, new()
 {
     return(CurConn.DeleteAsync <T>(model));
 }
 public Task <bool> ClearAsync <T>() where T : class, new()
 {
     return(CurConn.DeleteAllAsync <T>());
 }
 public bool Modify <T>(T model) where T : class, new()
 {
     return(CurConn.Update <T>(model));
 }
 public bool Remove <T>(T model) where T : class, new()
 {
     return(CurConn.Delete <T>(model));
 }
 public Task <T> ScalarAsync <T>(string sql, object paramObj = null, IDbTransaction CurTran = null)
 {
     return(CurConn.ExecuteScalarAsync <T>(sql, paramObj, CurTran));
 }
 public Task <int> ExecuteAsync(string sql, object paramObj = null, IDbTransaction CurTran = null)
 {
     return(CurConn.ExecuteAsync(sql, paramObj, CurTran));
 }
 public Task <T> FindAsync <T>(string sql, object paramObj = null, IDbTransaction CurTran = null)
 {
     return(CurConn.QueryFirstOrDefaultAsync <T>(sql, paramObj, CurTran));
 }
 public Task <IEnumerable <T> > FindAllAsync <T>() where T : class, new()
 {
     return(CurConn.GetAllAsync <T>());
 }
 public IEnumerable <T> FindAll <T>() where T : class, new()
 {
     return(CurConn.GetAll <T>());
 }
 public Task <T> FindAsync <T>(object id) where T : class, new()
 {
     return(CurConn.GetAsync <T>(id));
 }
 public T Find <T>(object id) where T : class, new()
 {
     return(CurConn.Get <T>(id));
 }
 public Task <int> AddAsync <T>(T model) where T : class, new()
 {
     return(CurConn.InsertAsync <T>(model));
 }
 public Task <bool> ModifyAsync <T>(T model) where T : class, new()
 {
     return(CurConn.UpdateAsync <T>(model));
 }
 public Task <IEnumerable <T> > QueryAsync <T>(string sql, object paramObj = null, IDbTransaction CurTran = null)
 {
     return(CurConn.QueryAsync <T>(sql, paramObj, CurTran));
 }
 public int Execute(string sql, object paramObj = null, IDbTransaction CurTran = null)
 {
     return(CurConn.Execute(sql, paramObj, CurTran));
 }