86e3244cd5aacc190bbe5e972dabcd21.png

前言

b0f8d344971ea2e2b0490b7aa42ab786.png

8a8b32520314dabba4fd03833258726d.png

    第三篇使用SqlSugar,这个可以说是我目前最喜欢的ORM了。目前国内很多项目抛开EF的话估计也就这个使用最多了。官网说这是一款来自未来的ORM,我觉得形容的也不差。遥想我曾经特别喜欢使用dapper,然后也用了一些dapper的扩展库,最后觉得不顺手便开始自己动手扩展。偶然间得知了SqlSugar后,我才发现,我所扩展的好多用法都已经实现了,而且相当优秀。后面便一发不可收拾,彻底的抛弃了Dapper...

40079c80368e9116501816eccc89bb5a.png

524232c2094d65316ed738dc4aa946c5.gif

6f310f3b7cd68c78bee96615b0883143.jpeg

开发环境:.NET Framework版本:4.8

开发工具:Visual Studio 2022

e7cf6ac4ddb620b2d92a3990a4d771cb.png

实现步骤

b0a4890d94152e86bd04a1d0dc6ae661.png

  1. 通过Nuget下载System.Data.SQLite以及SqlSugar

  2. 引入以下命名空间

using SqlSugar;
  1. 定义数据库的连接字符串以及dataGridView的绑定数据源,同时对SqlSugar进行初始化配置

static readonly string dbConnStr = "Data Source=" + Application.StartupPath + "\\data.db";
        BindingList<T_User> bindList = new BindingList<T_User>();


        SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
        {
            ConnectionString = dbConnStr,
            DbType = SqlSugar.DbType.Sqlite,
            IsAutoCloseConnection = true
        });
  1. 查询

private void btn_query_Click(object sender, EventArgs e)
        {
            var list = Db.Queryable<T_User>().ToList();
            bindList.SetData(list);
        }
  1. 新增

private void btn_add_Click(object sender, EventArgs e)
        {
            Form2 form = new Form2();
            if (form.ShowDialog() == DialogResult.OK)
            {
                Db.Insertable(new T_User() { Name = form.UserName, Age = new Random().Next(1, 100) }).IgnoreColumns(t => new {t.Id,t.CreateTime }).ExecuteCommand();
                MessageBox.Show("添加成功");
                btn_query_Click(null, null);
            }
        }
  1. 编辑

private void btn_edit_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {
                MessageBox.Show("未选中任何行");
                return;
            }
            int index = dataGridView1.CurrentRow.Index;
            Form2 form = new Form2();
            form.UserName = dataGridView1[1, index].Value.ToString();
            if (form.ShowDialog() == DialogResult.OK)
            {
                T_User user = bindList[index];
                user.Name = form.UserName;
                Db.Updateable(user).Where(it => it.Id == bindList[index].Id).ExecuteCommand();
                MessageBox.Show("修改成功");
                btn_query_Click(null, null);
            }
        }
  1. 删除

private void btn_remove_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {
                MessageBox.Show("未选中任何行");
                return;
            }
            int index = dataGridView1.CurrentRow.Index;
            Db.Deleteable<T_User>().Where(it => it.Id == bindList[index].Id).ExecuteCommand();
            MessageBox.Show("删除成功");
            btn_query_Click(null, null);
        }

\

最后,SqlSugar的使用方式很丰富,可以去官网解锁更多姿势。

6e56dc0cb14afc366239e3af53c52974.png

实现效果

94bc43597608e83c9aa77bccb999800b.png

25e71f149416a0bbaca1e4e68d9b58a4.gif

-

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐