【小白专用24.6.18】C# SqlSugar:连接数据库实现简单的,增、删、改、查-CSDN博客
SqlSugar .Net ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网
SqlSugar项目创建
通过NuGet包管理器搜索SqlSugar(MySql还要安装MySql.Data、Newtonsoft.Json)包并安装
1.NuGet安装sqlsugar
新建一个C#的桌面应用程序,起名为SqlSugarDemo,然后鼠标右键选择引用,选择管理NuGet程序包,然后点击浏览后输入sqlsugar查找,找到直接点击安装。
所用.NET框架如果是.NET Framework则选择SqlSugar
所用.NET框架如果是.NET Core则选择SqlSugarCore
安装完后点击已安装,并且点开右边的引用后也可以看到SqlSugar就已经安装好了,如下图
2.实体类用法
在写查询代码之前,还要增加一个类,作为映射,数据库中tp_auth_rule表:
项目右键——添加——类,id为主键并设置为自增
在Id属性上加[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]是因为在数据库中Id是主键并且自增,需要与数据库中一致。
//如果实体类名称和表名不一致可以加上SugarTable特性指定表名
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugarDemo
{[SugarTable("tp_auth_rule")][Serializable]public class tp_auth_rule{/// <summary>/// 编号/// <summary>[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]public int id {get; set; }/// <summary>/// 编码/// <summary>[SugarColumn(ColumnName = "code")]public string code {get; set; }/// <summary>/// 父ID/// <summary>[SugarColumn(ColumnName = "pid")]public int pid {get; set; }/// <summary>/// 控制器/方法/// <summary>[SugarColumn(ColumnName = "name")]public string name {get; set; }/// <summary>/// 权限名称/// <summary>[SugarColumn(ColumnName = "title")]public string title {get; set; }/// <summary>/// type/// <summary>[SugarColumn(ColumnName = "type")]public int type {get; set; }/// <summary>/// 菜单状态/// <summary>[SugarColumn(ColumnName = "status")]public int status {get; set; }/// <summary>/// conditions/// <summary>[SugarColumn(ColumnName = "conditions")]public string conditions {get; set; }/// <summary>/// 排序/// <summary>[SugarColumn(ColumnName = "sort")]public int sort {get; set; }/// <summary>/// 验证权限/// <summary>[SugarColumn(ColumnName = "auth_open")]public int? auth_open {get; set; }/// <summary>/// 图标名称/// <summary>[SugarColumn(ColumnName = "icon")]public string icon {get; set; }/// <summary>/// 创建时间/// <summary>[SugarColumn(ColumnName = "create_time")]public int? create_time {get; set; }/// <summary>/// 更新时间/// <summary>[SugarColumn(ColumnName = "update_time")]public int update_time {get; set; }/// <summary>/// 参数/// <summary>[SugarColumn(ColumnName = "param")]public string param {get; set; }}
}
3.SqlSugar的简单用法
新建一个SqlConnection.cs
在这里,我们来完成SqlSugar连接SQLServer数据库的基本操作。语法上,其实和使用Microsoft.Data.SqlClient很相似,首先创建一个实例,
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SqlSugarDemo
{/// <summary>/// SqlSugar连接到MySQL数据库/// </summary>public class MySqlConnection{private static string strConnectionString = string.Empty;#region 数据库访问对象/// <summary>/// 数据库访问对象/// </summary>private static SqlSugarClient db = null;/// <summary>/// 初始化SqlSugarClient/// </summary>/// <returns>返回SqlSugarClient对象</returns>public static SqlSugarClient GetInstance(){if (strConnectionString == string.Empty){//strConnectionString = "Data Source=192.168.4.61;Initial Catalog=ReportServer;User ID=sa;Password=16";strConnectionString = "server = localhost; port = 3306; user = root; password = a6; database = worch; Convert Zero Datetime=True; Allow User Variables=True; AllowLoadLocalInfile=true";}db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = strConnectionString,DbType = SqlSugar.DbType.MySql,//DbType.SqlServer,IsAutoCloseConnection = true});return db;}#endregion/// <summary>/// 查询出tp_auth_rule表中的所有数据,映射到StudentInfo,然后作为list返回/// </summary>/// <returns></returns>public static List<tp_auth_rule> Query(){var db = GetInstance();return db.Queryable<tp_auth_rule>().ToList();}public static void Insert(tp_auth_rule student){var db = GetInstance();db.Insertable<tp_auth_rule>(student).ExecuteCommand();}public static bool Delete(tp_auth_rule student){var db = GetInstance();db.Deleteable<tp_auth_rule>(student).ExecuteCommand();return true;}}
}
SqlSugarClient需要传入参数,我们以第一个为例,需要ConnectionConfig类型的参数
ConnectionConfig如下
功能的演示
查询示例
private void btnQuery_Click(object sender, EventArgs e){var tp_auth_rulelist = MySqlConnection.Query();dataGridView1.DataSource = tp_auth_rulelist;}