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

    }
}
相关推荐
Theodore_10222 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
冰帝海岸3 小时前
01-spring security认证笔记
java·笔记·spring
世间万物皆对象3 小时前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了4 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
----云烟----4 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024064 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
小二·4 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it4 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
懒洋洋大魔王4 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq