使用SqlSugar保存数据
使用sqlSugar库进行数据库操作,相比原生ADO.NET要简单很多,这里演示使用SQLsugar进行简单的增删改查的使用方法。
1、通过NuGet安装sqlsugar;
2、创建一个SqlSugarClient对象,并设置相关参数,如下:
//建立数据库连接 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig { ConnectionString = connString, DbType = SqlSugar.DbType.SqlServer, IsAutoCloseConnection = true });
3、创建一个与数据表相对应的实体类,如下
[SugarTable("ParaValue")] public class ParaValue { [SugarColumn(IsPrimaryKey = true,IsIdentity =true,ColumnName ="id")] public int Id { get; set; } [SugarColumn(ColumnName="name")] public string Name { get; set; } [SugarColumn(ColumnName = "value")] public float Value { get; set; } [SugarColumn(ColumnName = "note")] public string Note { get; set; } }
注意,[SugarTable("ParaValue")]是数据表的名称;[SugarColumn(ColumnName="name")]是数据表中列名。
重点注意:对于主键,自增列,一定要使用SugarColumn(IsPrimaryKey = true,IsIdentity =true标记,
插入数据时,一般自增列是不需要赋值,数据库会自动增加,但是如果没有IsIdentity =true标记,插入数据就会报错。
4、执行数据库操作,需要:
第一步,先打开数据库,db.Ado.Open();
第二步,执行数据库操作,
第三步,关闭数据库,db.Ado.Close();
由于设置了IsAutoCloseConnection = true,sqlsugar在执行数据库操作时自动打开数据库,操作完成后自动关闭数据库。
需要注意的是,虽然 SQLSugar 库在执行数据库操作时会自动打开和关闭连接,但在某些情况下,可能需要显式地控制连接的打开和关闭过程。
在这些情况下,你可以选择自己手动打开和关闭数据库连接,而不依赖于 SQLSugar 库的自动管理功能。
// 插入数据示例 var paraValue = new ParaValue { Name = "John" + DateTime.Now.ToString(), Value = 20.78f }; db.Insertable(paraValue).ExecuteCommand();
//查询数据 //var result =db.Queryable<ParaValue>().ToList(); var result = db.Queryable<ParaValue>().Where(u => u.Id > 2).ToList(); foreach (ParaValue paraValue in result) { Console.WriteLine(paraValue.Name); }
//修改数据 db.Updateable<ParaValue>() .SetColumns(p => new ParaValue { Name = "hanzq", Value = 777.99f, Note = "adsfasdf" }) .Where(p => p.Id == 2) .ExecuteCommand();
完整代码如下:
using SqlSugar; namespace sqlsugar库测试 { [SugarTable("ParaValue")] public class ParaValue { [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "id")] public int Id { get; set; } [SugarColumn(ColumnName = "name")] public string Name { get; set; } [SugarColumn(ColumnName = "value")] public float Value { get; set; } [SugarColumn(ColumnName = "note")] public string Note { get; set; } } }
using SqlSugar; using System; using System.Configuration; using System.Windows.Forms; namespace sqlsugar库测试 { public partial class Form1 : Form { string connString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; public Form1() { InitializeComponent(); this.Load += Form1_Load; } SqlSugarClient db; private void Form1_Load(object sender, EventArgs e) { //建立数据库连接 db = new SqlSugarClient(new ConnectionConfig { ConnectionString = connString, DbType = SqlSugar.DbType.SqlServer, IsAutoCloseConnection = true }); Console.WriteLine(db.Ado.Connection.State); } private void button1_Click(object sender, EventArgs e) { // 插入数据示例 var paraValue = new ParaValue { Name = "John" + DateTime.Now.ToString(), Value = 20.78f }; db.Insertable(paraValue).ExecuteCommand(); } private void button2_Click(object sender, EventArgs e) { //查询数据 //var result =db.Queryable<ParaValue>().ToList(); var result = db.Queryable<ParaValue>().Where(u => u.Id > 2).ToList(); foreach (ParaValue paraValue in result) { Console.WriteLine(paraValue.Name); } } private void button3_Click(object sender, EventArgs e) { //修改数据 db.Updateable<ParaValue>() .SetColumns(p => new ParaValue { Name = "hanzq", Value = 777.99f, Note = "adsfasdf" }) .Where(p => p.Id == 2) .ExecuteCommand(); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?