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 分钟前
Feign远程调用在微服务架构中的实践与应用
java·spring boot·后端
苏十八2 分钟前
前端基础:CSS(篇一)
开发语言·前端·css·考研·面试·tensorflow·学习方法
QuZhengRong21 分钟前
【SpringCloud】Ribbon源码解析
java·spring cloud·ribbon
尚雷558022 分钟前
elasticsearch运维系列_用户及角色权限相关SQL及脚本整理
java·服务器·前端
池塘边的菜园子24 分钟前
微服务框架中的Eureka和Ribbon的个人理解
java·微服务·架构
Jeremy_102238 分钟前
专题四:Spring源码初始化环境与BeanFactory
java·后端·spring
huakej_1 小时前
如何循环遍历循环中的剩余元素
开发语言·python·网络爬虫
苍天饶过谁?1 小时前
C++ 模板类与函数
开发语言·c++
breaksoftware1 小时前
Websocket在Java中的实践——最小可行案例
java·spring boot·websocket
java6666688881 小时前
探索Java中的事件驱动架构(EDA)
java·python·架构