zoukankan      html  css  js  c++  java
  • 使用Dapper.Contrib

     public T Query(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result= dbConnection.QueryFirstOrDefault<T>(sql, param);
                    dbConnection.Close();
                    return result;
                }
                
            }
    
            /// <summary>
            /// 多用于事务
            /// </summary>
            /// <param name="dbConnection"></param>
            /// <param name="sql"></param>
            /// <param name="param"></param>
            /// <param name="transaction"></param>
            /// <returns></returns>
            public T Query(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
            {
                return dbConnection.QueryFirstOrDefault<T>(sql, param, transaction);
            }
    
    
            public async Task<T> QueryAsync(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result= await dbConnection.QueryFirstOrDefaultAsync<T>(sql, param);
                    dbConnection.Close();
                    return result;
                }
            }
            public async Task<T> QueryAsync(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
            {
                return await dbConnection.QueryFirstOrDefaultAsync<T>(sql, param, transaction);
            }
    
            public IList<T> QueryToList(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = dbConnection.Query<T>(sql, param).ToList();
                    dbConnection.Close();
                    return result;
                }
            }
            public IList<T> QueryToList<T>(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = dbConnection.Query<T>(sql, param).ToList();
                    dbConnection.Close();
                    return result;
                }
            }
            public IList<T> QueryToList(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
            {
                return dbConnection.Query<T>(sql, param, transaction).ToList();
            }
            public async Task<IList<T>> QueryToListAsync(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = (await dbConnection.QueryAsync<T>(sql, param)).ToList();
                    dbConnection.Close();
                    return result;
                }
            }
    
            public async Task<IList<T>> QueryToListAsync<T>(string sql, object param)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = (await dbConnection.QueryAsync<T>(sql, param)).ToList();
                    dbConnection.Close();
                    return result;
                }
            }
    
            public async Task<IList<T>> QueryToListAsync(IDbConnection dbConnection, string sql, object param, IDbTransaction transaction = null)
            {
                return (await dbConnection.QueryAsync<T>(sql, param, transaction)).ToList();
            }
            /// <summary>
            /// 查询数据库,返回指定ID的对象
            /// </summary>
            /// <param name="id">主键的值</param>
            /// <returns></returns>
            public T FindById(object id)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = dbConnection.Get<T>(id);
                    dbConnection.Close();
                    return result;
                }
            }
            public T FindById(IDbConnection dbConnection, object id, IDbTransaction transaction = null)
            {
                return dbConnection.Get<T>(id, transaction);
            }
            public T GetById(int id)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = dbConnection.Get<T>(id);
                    dbConnection.Close();
                    return result;
                }
            }
            public T GetById(IDbConnection dbConnection, int id, IDbTransaction transaction = null)
            {
                return dbConnection.Get<T>(id, transaction);
            }
    
            public async Task<T> GetByIdAsync(int id)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result= await dbConnection.GetAsync<T>(id);
                    dbConnection.Close();
                    return result;
                }
            }
            public async Task<T> GetByIdAsync(IDbConnection dbConnection, int id, IDbTransaction transaction = null)
            {
                return await dbConnection.GetAsync<T>(id, transaction);
            }
            /// <summary>
            /// 查询数据库,返回指定ID的对象
            /// </summary>
            /// <param name="id">主键的值</param>
            /// <returns></returns>
            public async Task<T> FindByIdAsync(object id)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result= await dbConnection.GetAsync<T>(id);
                    dbConnection.Close();
                    return result;
                }
            }
            public async Task<T> FindByIdAsync(IDbConnection dbConnection, object id, IDbTransaction transaction = null)
            {
                return await dbConnection.GetAsync<T>(id, transaction);
            }
            /// <summary>
            /// 插入返回主键
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="param"></param>
            /// <returns>
            /// //string sql = @"Insert into users (UserName) values (@name);
            /// //object param=new Object(){ name = member.UserName}
            /// </returns>
            public async Task<int> InsertedIdAsync(string sql, object param = null)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
                    var result= await dbConnection.ExecuteScalarAsync<int>(sql, param);
                    dbConnection.Close();
                    return result;
                }
            }
            public async Task<int> InsertedIdAsync(IDbConnection dbConnection, string sql, object param = null, IDbTransaction transaction = null)
            {
                sql=sql.TrimEnd(';') +";select LAST_INSERT_ID()";
                return await dbConnection.ExecuteScalarAsync<int>(sql, param, transaction);
            }
            public int InsertedId(string sql, object param = null)
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
                    var result= dbConnection.ExecuteScalar<int>(sql, param);
                    dbConnection.Close();
                    return result;
                }
            }
            public int InsertedId(IDbConnection dbConnection, string sql, object param = null, IDbTransaction transaction = null)
            {
                sql = sql.TrimEnd(';') + ";select LAST_INSERT_ID()";
                return dbConnection.ExecuteScalar<int>(sql, param, transaction);
            }
    
            public IList<T> GetAll()
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = dbConnection.GetAll<T>().ToList();
                    dbConnection.Close();
                    return result;
                }
            }
            public IList<T> GetAll(IDbConnection dbConnection, IDbTransaction transaction = null)
            {
                return dbConnection.GetAll<T>(transaction).ToList();
            }
    
            public async Task<IList<T>> GetAllAsync()
            {
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    var result = (await dbConnection.GetAllAsync<T>()).ToList();
                    dbConnection.Close();
                    return result;
                }
            }
            public async Task<IList<T>> GetAllAsync(IDbConnection dbConnection, IDbTransaction transaction = null)
            {
                return (await dbConnection.GetAllAsync<T>(transaction)).ToList();
            }
    
            public bool Insert(T entity)
            {
                bool result = false;
                using (IDbConnection dbConnection = Connection)
                {
                    if (dbConnection.State == ConnectionState.Closed)
                    {
                        dbConnection.Open();
                    }
                    result = dbConnection.Insert(entity) > 0;
                    dbConnection.Close();
                }
                return result;
            }
            public bool Insert(T entity, IDbConnection dbConnection, IDbTransaction transaction = null)
            {
                bool result = dbConnection.Insert(entity, transaction) > 0;
                return result;
            }

    参照:

    https://www.cnblogs.com/wuhuacong/p/9952900.html

  • 相关阅读:
    利用深度学习网络自动给图像上色的文章和相关工程实现
    Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记
    (转) Dissecting Reinforcement Learning-Part.2
    (转) 多模态机器翻译
    编译caffe的Python借口,提示:ImportError: dynamic module does not define module export function (PyInit__caffe)
    (转)How Hash Algorithms Work
    深度学习 目标检测算法 SSD 论文简介
    (转)能根据文字生成图片的 GAN,深度学习领域的又一新星
    (转) Face-Resources
    (转) AdversarialNetsPapers
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/11372247.html
Copyright © 2011-2022 走看看