sqlsugar 批量删除guid类型主键_SqlSugar, .Net下优秀的ORM

SqlSugar是什么

SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法。

SqlSugar优点

1、高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化

2、高扩展性 ,支持自定义拉姆达函数解析、扩展数据类型、支持自定义实体特性,外部缓存等

3、稳定性和技术支持, 虽然不是官方ORM, 但在稳定性上也是有着数年用户积累,如果遇到问题可以在GITHUB提出来,会根据紧急度定期解决

4、功能全面,虽然SqlSugar小巧可功能并不逊色于EF框架

5、创新、持续更新 ,向下兼容

SqlSugar的功能

7a258aed394daaf4f249622c20f9ff6c.png

SqlSugar查询特色

71b618945b27c99a9e3c1edc7fd66206.png

SqlSugar实体类使用工具

Github地址:https://github.com/q7164518/SqlSugar.Tools

bf24e8357c0b1792c9dfdca667067b1a.png

SqlSugar在项目中使用

Nuget安装

e73551db4a19f1a460712bbc16df8f72.png

命令安装

Install-Package sqlSugar

Install-Package sqlSugarCore

SqlSugar开整

建SqlSugar帮助类

80514efbd00dbdc40452a335e6fe2d00.png

public class SqlSugarHelper

{

private static string _Connection = "server=.;uid=sa;pwd=123456;database=Student";

public static SqlSugarClient DB

{

get => new SqlSugarClient(new ConnectionConfig()

{

ConnectionString = _Connection,//必填, 数据库连接字符串

DbType = DbType.SqlServer, //必填, 数据库类型

IsAutoCloseConnection = true, //默认false, 时候知道关闭数据库连接, 设置为true无需使用using或者Close操作

InitKeyType = InitKeyType.SystemTable //默认SystemTable, 字段信息读取, 如:该属性是不是主键,是不是标识列等等信息

});

}

}

SqlSugart增加操作

ccb7205bfe1c9d7b9fb4d4a9f8b625fe.png

Student stu = new Student();

stu.UserName = "123456";

stu.Name = "张三";

SqlSugar插入操作

Console.WriteLine("使用SqlSugar进行插入操作,返回受影响的行数");

int iResult = SqlSugarHelper.DB.Insertable(stu).ExecuteCommand();

Console.WriteLine("插入并返回自增列用ExecuteReutrnIdentity");

int iResult1 = SqlSugarHelper.DB.Insertable(stu).ExecuteReturnIdentity();

long iResult2 = SqlSugarHelper.DB.Insertable(stu).ExecuteReturnBigIdentity(); //4.5.0.2 + long

Console.WriteLine("插入并返回实体 ,只是自identity 添加到 参数的实体里面并返回,没有查2次库,所以有些默认值什么的变动是取不到的你们需要手动进行2次查询获取");

Student stu1 = SqlSugarHelper.DB.Insertable(stu).ExecuteReturnEntity();

Console.WriteLine("插入并返回bool, 并将插入结果赋值到实体");

bool bReult = SqlSugarHelper.DB.Insertable(stu).ExecuteCommandIdentityIntoEntity();

SqlSugar批量插入

List students = new List();

Student stu2 = new Student();

stu2.UserName = "123456";

stu2.Name = "李四";

students.Add(stu2);

students.Add(stu1);

students.Add(stu);

int iResultList = SqlSugarHelper.DB.Insertable(students.ToArray()).ExecuteCommand();

SqlSugar删除

e687657a614364f0e7d308289367800d.png

根据实体删除(实体内主键一定要有值)

int t0 = SqlSugarHelper.DB.Deleteable().Where(new Student() { Id = 1 }).ExecuteCommand();

根据实体集删除(实体内主键一定要有值)

int t1 = SqlSugarHelper.DB.Deleteable().Where(new List() { new Student() { Id = 2 } }).ExecuteCommand();

根据主键删除

int t3 = SqlSugarHelper.DB.Deleteable().In(3).ExecuteCommand();

根据主键批量删除

int t4 = SqlSugarHelper.DB.Deleteable().In(new int[] { 4, 5 }).ExecuteCommand();

SqlSugar更新操作

c5f660b0d9691399c214766a2e0500cd.png

//根据实体更新(主键要有值,主键是更新条件)

stu.Name = "王五";

var t13 = SqlSugarHelper.DB.Updateable(stu).ExecuteCommand(); //这种方式会以主键为条件

SqlSugar查询操作

c685a00bd7d3a790d6119a74aec45309.png

查询所有

var getAll = SqlSugarHelper.DB.Queryable().ToList();

IN查询

//Id In (7,8,9), 指定列In查询

var in1 = SqlSugarHelper.DB.Queryable().In(it => it.Id, new int[] { 7, 8, 9 }).ToList();

条件查询

var getByWhere = SqlSugarHelper.DB.Queryable().Where(it => it.Id != 1).ToList();

分页查询

var pageIndex = 1;

var pageSize = 10;

var totalCount = 0;

var page = SqlSugarHelper.DB.Queryable().OrderBy(it => it.Id).ToPageList(pageIndex, pageSize, ref totalCount);

总结

轻便,快捷,简单易用,容易上手。

学海无涯,无限分享,可以互相交流学习哦! 下篇想看什么可在下方留言。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值