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

    }
}
相关推荐
diediedei13 小时前
高性能计算通信库
开发语言·c++·算法
曹轲恒13 小时前
SpringBoot整合SpringMVC(末)
java·spring boot·后端
_周游13 小时前
Java8 API 文档搜索引擎_2.索引模块(程序)
java·搜索引擎·intellij-idea
雾岛听蓝13 小时前
C++11新特性(可变参数模板、新的类功能、STL中的一些新变化)
开发语言·c++·经验分享·笔记
小马爱打代码13 小时前
Spring Boot:邮件发送生产可落地方案
java·spring boot·后端
lxl130713 小时前
学习C++(6)日期类的实现+取地址运算符重载
开发语言·c++·学习
BD_Marathon13 小时前
设计模式——接口隔离原则
java·设计模式·接口隔离原则
我材不敲代码13 小时前
Python爬虫介绍——简单了解一下爬虫
开发语言·爬虫·python
Howrun77713 小时前
可调用对象
开发语言·c++
空空kkk13 小时前
SSM项目练习——hami音乐(二)
java