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

    }
}
相关推荐
向前V13 小时前
Flutter for OpenHarmony数独游戏App实战:胜利弹窗
java·flutter·游戏
WilliamHu.13 小时前
A2A协议
java·数据结构·算法
JAVA+C语言13 小时前
如何在Java中实现线程间的通信?
java·大数据·python
这儿有个昵称13 小时前
Java面试场景:从音视频到微服务的技术深挖
java·spring boot·spring cloud·微服务·面试·kafka·音视频
不会c嘎嘎13 小时前
QT中的事件机制
开发语言·qt
modelmd13 小时前
Go、Java 的值类型和引用类型对比
java·golang
移远通信14 小时前
短信的应用
java·git·python
a努力。14 小时前
阿里Java面试被问:WebSocket的心跳检测和自动重连实现
java·开发语言·python·websocket·面试·职场和发展·哈希算法
冷雨夜中漫步14 小时前
Python入门——__init__.py文件作用
android·java·python
行秋14 小时前
MATLAB 中的两大电力仿真库:Simscape Electrical(蓝色库) vs SimPowerSystems(黑色库)
开发语言·matlab