[C#] [WPF] SqlSugar的基本使用
关于SqlSugar
一个ORM, 可以用在c#程序里操作数据
🍰 官方文档入口
怎么用SqlSugar
连接数据库
日常操作, 连接字符串, 数据库类型, 其他配置
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig { ConnectionString = $"Server={ip};Uid={uid};Pwd={pwd};Database={database};Charset=utf8mb4", DbType = DbType.MySql, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute });
db.Open();
必要时加上try/catch捕获异常, 判断连接是否成功
查询
🍪 查询, 有各种查询
查询所有
List<Student> list=db.Queryable<Student>().ToList()
计数
int count=db.Queryable<Student>().Count()
按条件查询
db.Queryable<Student>().Where(it=>it.Id==1).ToList() //select * from Student where id=1 db.Queryable<Student>().Where(it=>it.Id>10 && it.Name=="a").ToList() //select * from Student where id > 10 and name = 'a'
插入
🍭 各种插入操作
插入单条数据/多条数据(List)
// T entity db.Insertable(entity).ExecuteCommand(); // List<T> entities db.Insertable(entities).ExecuteCommand();
更新
🍬还有根据实体对象更新等等, 看官方文档
根据表达式更新数据, 就是可以转成sql表达式, 用在需要按照sql表达式来用的情况?
// SetColumns字段是可以叠加的, 有几个就更新几个 // 更新单个字段 var result = db.Updateable<Student>() .SetColumns(it => it.Name == "jack") .Where(it => it.Id == 1) .ExecuteCommand(); // 更新Name, createTime两个字段 var result = db.Updateable<Student>() .SetColumns(it => new Student() { Name="Alice",CreateTime=DateTime.Now}) .Where(it => it.Id >11) .ExecuteCommand(); // 现有字段值++ var result = db.Updateable<Student>() .SetColumns(it => it.Num== it.Num+1) .Where(it => it.Id == 1) .ExecuteCommand();
删除
🍫 看官方文档
根据sql表达式删除
db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();
根据某主键删除
// 无主键时, 指定一列作为主键 db.Deleteable<Order>().In(it=>it.Id,1).ExecuteCommand();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)