C#给SqlSugar封装一个单例类

.NET兼职社区

可以直接用,轻量方便,无需重复造轮子。 这里只对CRUD进行封装,我的应用比较简单。

csharp 复制代码
using SqlSugar;
using System.Collections.Generic;


namespace MusicApp.Assist
{
    internal class SqlSugarAssist
    {
        private static readonly object _lock = new object();
        private static SqlSugarAssist _instance;
        private readonly ISqlSugarClient _db;
        private SqlSugarAssist(string connectionString)
        {
            _db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = connectionString,
                DbType = DbType.SqlServer, // 或其他数据库类型
                IsAutoCloseConnection = true
            });
        }

        ///单例实现
        public static SqlSugarAssist GetInstance(string connectionString) 
        {
            if (_instance == null) 
            {
                lock (_lock) {
                    if (_instance == null) 
                    {
                        _instance=new SqlSugarAssist(connectionString); 


                    }
                }
            }
            return _instance;
        }



        // 插入操作
        public int Insert<T>(T entity) where T : class,new()
        {
            return _db.Insertable(entity).ExecuteCommand();
        }

        // 删除操作
        public int Delete<T>(dynamic list) where T : class, new()
        {
            return _db.Deleteable<T>(list).ExecuteCommand();
        }

        // 更新操作
        public int Update<T>(T entity) where T : class, new()
        {
            return _db.Updateable(entity).ExecuteCommand();
        }

        // 查询操作
        public List<T> Select<T>()
        {
            return _db.Queryable<T>().ToList();
        }

    }
}
相关推荐
智慧物业老杨8 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
晴天的雨.9929 小时前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
IvanCodes14 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
步行cgn15 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风15 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
aramae15 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路16 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
淡海水17 小时前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Wang's Blog17 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog17 小时前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis