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();
        }

    }
}
相关推荐
超级大只老咪1 天前
数组相邻元素比较的循环条件(Java竞赛考点)
java
小浣熊熊熊熊熊熊熊丶1 天前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
毕设源码-钟学长1 天前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子1 天前
JDK 安装配置
java·开发语言
星哥说事1 天前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink1 天前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
xUxIAOrUIII1 天前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home1 天前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
等....1 天前
Miniconda使用
开发语言·python
zfj3211 天前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang