C# SqlSugar批量执行SQL语句及批量更新实体对象的操作方法

来自:网络
时间:2024-09-10
阅读:

SqlSugar简介

SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队

维护和更新 ,开箱即用最易上手的.NET ORM框架 。生态圈丰富,目前开源生态仅次于EF Core,但是在需要多库兼容的项目或产品中更加偏爱SqlSugar。

官网:SqlSugar .Net ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网 (donet5.com)

MySQL简介

MySQL 是一个开源的关系型数据库管理系统(RDBMS),它是一种流行的数据库管理系统,广泛用于开发各种类型的应用程序,从小型网站到大型企业级应用,以及嵌入式系统等。

官网:MySQL

前言

官方文档地址

SqlSugar 是一款 老牌 .NET开源ORM框架,由果糖大数据科技团队维护和更新 ,开箱即用最易上手的ORM

优点 :【生态丰富】【高性能】【超简单】 【功能全面】 【多库兼容】【适合产品】 【SqlSugar视频教程】

支持 : .net framework .net core3.1 .ne5 .net6 .net7 .net8 .net9

特色 : 拥有全球最活跃的ORM线上论坛,比EF还要活跃,交流群人数已超过万人 ,技术支持快,口碑好。

开源 :10年开源信誉值得信赖,从不搞收费,文档也全免费

一、SqlSugar 批量操作SQL语句

实现

public static int ExecuteSqlBatch(List<string> listSql) 
{
    using (var Db = GetInstance())
    {
        Db.Ado.BeginTran();
        try
        {
            foreach (var sql in listSql)
            {
                // 执行每条SQL语句
                var result = Db.Ado.ExecuteCommand(sql);
                if (result == -1)
                {
                    return 0;
                }
            }
            // 提交事务  
            Db.Ado.CommitTran();//.CommitTransaction();
            return 1;
        }
        catch (Exception ex)
        {
            // 发生异常,回滚事务  
            Db.Ado.RollbackTran();
            return 0;
        }
    };
}

二、SqlSugar 批量操作实体对象

实现

public static void BulkInsert(List<SJ_EMR_INFO> entities)
{
    SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
    {
        ConnectionString = ConfigurationManager.ConnectionStrings["MYDB"].ConnectionString,
        DbType = SqlSugar.DbType.SqlServer,//sqlserver、oracle、mysql
        IsAutoCloseConnection = true,
        InitKeyType = InitKeyType.Attribute
    });
    // 批量插入
    var insertObjs = db.Insertable(entities.ToArray());
    //批量更新
    //var updateObjs = db.Updateable(entities.ToArray());
    // 执行
    int count = insertObjs.ExecuteCommand();
}

知行合一

知行合一,是由明朝思想家王守仁(王阳明)提出来的哲学理论,即认识事物的道理与实行其事,是密不可分的。
知是指内心的觉知,对事物的认识,行是指人的实际行为。
知行合一是中国古代哲学中认识论和实践论的命题,主张人的外在行为是受内在意识支配,认为只有由衷向善做到知的人,才有外在自发的善行。
知行合一的重点是理解事物的本质,知与行的合一,既不是以知来合并行,认为知便是行,也不是以行来合并知,认为行便是知,而是内有良知外有良行,知是基础和前提,行是重点和关键。
总的来说,知行合一就是要将知识与行动紧密结合起来,通过实践来不断反思和调整,进而提升自我。

返回顶部
顶部