当前位置: 首页 > news >正文

易语言做钓鱼网站资阳seo快速排名

易语言做钓鱼网站,资阳seo快速排名,唯品会一家做特卖的网站,济南网站建设有限公司大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录前言批量修改操作…

大家好,我是全栈小5,欢迎来到《小5讲堂》。
这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 批量修改操作
    • 1. 使用UpdateRange方法
    • 2. 使用Where条件批量更新
    • 3. 使用SetColumnsIF进行条件更新
    • 4. 使用字典批量更新
    • 5. 批量更新部分字段
    • 性能优化建议
  • 输出完整SQL
    • 1. 使用AOP功能全局配置(推荐)
    • 2. 针对特定操作输出SQL
    • 3. 使用MiniProfiler监控SQL
    • 4. 使用Debug模式
    • 5. 输出到日志文件
    • 注意事项
  • 文章推荐

前言

最近在使用SqlSugar这个第三方ORM框架,时间久了很多用法就容易忘记,可能也是博主上了年纪有些用法忘得快,哈哈哈。
所以,AI应用的出现,绝对是我们程序员的绝佳助手,我们可以不用记住太多的太细的知识点,把基本原理和底层架构掌握好,剩下就交给AI。

批量修改操作

SqlSugar是一个轻量级的ORM框架,提供了多种方式进行批量修改操作。以下是几种常见的批量修改方法:

1. 使用UpdateRange方法

// 假设有一个Student实体类
var list = db.Queryable<Student>().Where(it => it.Age < 18).ToList();// 修改这些对象的属性
foreach(var item in list)
{item.Status = "未成年";item.ModifiedTime = DateTime.Now;
}// 批量更新
db.Updateable(list).ExecuteCommand();

2. 使用Where条件批量更新

// 直接根据条件批量更新,不先查询数据
db.Updateable<Student>().SetColumns(it => new Student(){Status = "成年",ModifiedTime = DateTime.Now}).Where(it => it.Age >= 18).ExecuteCommand();

3. 使用SetColumnsIF进行条件更新

// 根据条件更新不同字段
db.Updateable<Student>().SetColumnsIF(condition1, it => it.Field1 == value1).SetColumnsIF(condition2, it => it.Field2 == value2).Where(it => it.Id > 100).ExecuteCommand();

4. 使用字典批量更新

// 使用字典指定要更新的字段
Dictionary<string, object> columns = new Dictionary<string, object>
{{ "Status", "已毕业" },{ "ModifiedTime", DateTime.Now }
};db.Updateable<Student>().SetColumns(columns).Where(it => it.Grade == 2023).ExecuteCommand();

5. 批量更新部分字段

var list = db.Queryable<Student>().Take(100).ToList();// 只更新Name和Age字段
db.Updateable(list).UpdateColumns(it => new { it.Name, it.Age }).ExecuteCommand();

性能优化建议

  1. 对于大量数据更新,考虑使用事务:
try
{db.Ado.BeginTran();// 批量操作db.Ado.CommitTran();
}
catch
{db.Ado.RollbackTran();throw;
}
  1. 对于超大数据量(上万条),可以分批更新,例如每次更新1000条。

  2. 如果只是简单字段更新,优先使用条件更新(方法2),而不是先查询再更新。

输出完整SQL

在SqlSugar中,你可以通过以下几种方式输出完整的SQL语句,方便排查问题:

1. 使用AOP功能全局配置(推荐)

在SqlSugar初始化时配置AOP事件:

var db = new SqlSugarScope(new ConnectionConfig()
{ConnectionString = "你的连接字符串",DbType = DbType.SqlServer, // 根据你的数据库类型设置IsAutoCloseConnection = true
},
config =>
{// 监控SQL执行config.Aop.OnLogExecuting = (sql, pars) =>{Console.WriteLine(sql); // 输出SQL// 如果需要输出参数foreach (var param in pars){Console.WriteLine($"参数名:{param.ParameterName} 值:{param.Value}");}};
});

2. 针对特定操作输出SQL

对于你提供的批量修改操作,可以这样获取SQL:

// 示例:获取UpdateRange的SQL
var sql = db.Updateable(list).ToSql();
Console.WriteLine(sql.Key); // 输出SQL语句
Console.WriteLine(string.Join(",", sql.Value.Select(p => $"{p.ParameterName}={p.Value}"))); // 输出参数// 示例:获取条件更新的SQL
var sql2 = db.Updateable<Student>().SetColumns(it => new Student() { Status = "成年" }).Where(it => it.Age >= 18).ToSql();
Console.WriteLine(sql2.Key);

3. 使用MiniProfiler监控SQL

安装MiniProfiler包:

Install-Package MiniProfiler.AspNetCore

配置:

services.AddMiniProfiler(options => 
{options.RouteBasePath = "/profiler";options.SqlFormatter = new StackExchange.Profiling.SqlFormatters.InlineFormatter();
});// 在SqlSugar配置中
config.Aop.OnLogExecuting = (sql, pars) =>
{MiniProfiler.Current.CustomTiming("SQL", sql, pars);
};

4. 使用Debug模式

在开发环境设置:

config.Aop.OnLogExecuting = (sql, pars) =>
{#if DEBUGDebug.WriteLine(sql);#endif
};

5. 输出到日志文件

config.Aop.OnLogExecuting = (sql, pars) =>
{File.AppendAllText("sql.log", $"{DateTime.Now}: {sql}\n");
};

注意事项

  1. 生产环境记得关闭详细的SQL日志输出,只记录错误
  2. 参数化查询中的参数值会以@形式显示,实际执行时会替换为真实值
  3. 复杂的LINQ表达式生成的SQL可能不易阅读,可以使用.ToSql()方法查看

文章推荐

【数据库】如何使用一款轻量级数据库SqlSugar进行批量更新,以及查看最终的Sql操作语句

【数据库】使用Sql Server将分组后指定字段的行数据转为一个字段显示,并且以逗号隔开每个值,收藏不迷路

【数据库】SQL Server 查询条件小技巧:ISNULL 函数的使用,有请DeepSeek来辅助讲解下

【Sql Server】在SQL Server中生成雪花ID(Snowflake ID)

【Sql Server】使用row_number over方式进行表分页,数据量达到五千多条记录后,查询变慢需要20多秒的解决方案

【Sql Server】随机查询一条表记录,并重重温回顾下自定义函数的封装和使用

【Sql Server】锁表如何解锁,模拟会话事务方式锁定一个表然后进行解锁

【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理

【新星计划回顾】第六篇学习计划-通过自定义函数和存储过程模拟MD5数据

【新星计划回顾】第四篇学习计划-自定义函数、存储过程、随机值知识点

【Sql Server】Update中的From语句,以及常见更新操作方式

【Sql server】假设有三个字段a,b,c 以a和b分组,如何查询a和b唯一,但是c不同的记录

【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

http://www.dtcms.com/a/615065.html

相关文章:

  • 网站网站开发建设定制高端网站
  • 企业网站开发目的和意义如何建立网站详细流程
  • 你的电视 2.2.5 | 功能丰富的直播软件,提供广泛的频道选择,满足全家人的娱乐需求
  • 广州网站建设商phpcms 后台修改修改网站备案号
  • dw网站模板怎么开发自己的个人网页
  • 红酒网站制作wordpress演示版
  • 电子商务型网站西安建筑网站建设
  • geohash入门指南
  • 二叉树的拓展:平衡二叉树(定义,朴素c语言实现增删改查,平衡因子判断)通俗易懂
  • 济南cms建站网站建设无锡
  • 为什么“电”在高速通讯上不行了?
  • 建设工程行业招工信息网站网站整体建设方案
  • 【杂谈】-2026:智能体AI的治理新挑战与机遇
  • 德州网站设计深圳网站 制作信科便宜
  • 什么是协程
  • 积木城堡-DP
  • 魔兽做图下载网站wordpress切换语言 语言包
  • chrony组件和NTP组件的区别
  • 网站开发 相册wordpress熊掌
  • 计算机组成原理 刘宏伟 第六章 计算机的运算方法(下)
  • C语言编译软件文档 | 提供完整功能与使用指南,帮助开发者高效编译程序
  • 在线网站排名工具积分商城系统
  • 个人网站开发多少钱wordpress钩子大全
  • 在FreeBSD 14.3上部署轻量级Linux jail环境 仅仅占用10M内存
  • 室内设计师是干嘛的快速优化seo软件推广方法
  • Datawhale:吴恩达Post-training of LLMs,学习打卡4
  • ADC 药物:“生物导弹” 的精准抗癌机制与未来潜力
  • 网站管理助手山东 网站备案
  • 签证网站建设wordpress怎么做采集
  • dw做的网页在网站图片不显示网站开发范围说明书