细胞de理想

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

官方网站:https://www.donet5.com/Home/Doc

SqlSugar属于orm框架,但比EF更加轻量级,性能也更优越。

下面用示例演示相关用法

项目结构:

 

 

 

项目需要应用程序集:SqlSugarCore

 

 

 

BaseOperate类 

using SqlSugar;
using SqlSugarStart.DbModels;
using System;
using System.Collections.Generic;
 
namespace SqlSugarStart
{
    public static class BaseOperate
    {
        public static void test1()
        {
            try
            {
                SqlSugarClient sqlSugarClient = new SqlSugarClient(new ConnectionConfig
                {
                    DbType = DbType.SqlServer,//要连接的数据库类型
                    ConnectionString = "server=.;uid=sa;pwd=123456;database=SqlSugarTest",//sqlsqver数据库链接字符串
                    IsAutoCloseConnection = true
                });
 
                #region 创建数据库和表的语句仅执行一次
                sqlSugarClient.DbMaintenance.CreateDatabase(); //创建数据库
                sqlSugarClient.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Commodity));//创建表
                #endregion
 
                sqlSugarClient.Aop.OnLogExecuted = (sql, pra) =>
                {
                    Console.WriteLine("*****************************************************");
                    Console.WriteLine($"sql语句:{sql}");
                };
 
 
                //新增一条记录
                sqlSugarClient.Insertable<Commodity>(new Commodity()
                {
                    ProductId = 1,
                    CategoryId = 1,
                    Title = "测试",
                    Price = 1,
                    Url = "test",
                    ImageUrl = "testtest"
                }).ExecuteCommand();
 
                List<Commodity> list = sqlSugarClient.Queryable<Commodity>().ToList();//查询多条数据
 
                Commodity commodity = sqlSugarClient.Queryable<Commodity>().First();//查询单条数据
 
                commodity.ImageUrl = commodity.ImageUrl + "11111";
                sqlSugarClient.Updateable<Commodity>(commodity).ExecuteCommand();//修改
 
                sqlSugarClient.Deleteable<Commodity>(commodity).ExecuteCommand();//删除
 
            }
            catch (Exception)
            {
 
                throw;
            }
        }
    }
}

Commodity类

using SqlSugar;
 
namespace SqlSugarStart.DbModels
{
    [SugarTable("Commodity")]
    public class Commodity
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }
        public long ProductId { get; set; }
        public int CategoryId { get; set; }
        public string Title { get; set; }
        public decimal Price { get; set; }
        public string Url { get; set; }
        public string ImageUrl { get; set; }
    }
}

Main方法

using System;
 
namespace SqlSugarStart
{
    class Program
    {
        /// <summary>
        /// sqlsugar相关
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            BaseOperate.test1();
 
            Console.ReadLine();
        }
    }
}

 

数据库和数据库中的表都不需要提前创建,SqlSugar可以帮助我们创建数据库和表

 

 

执行上面这两代码SqlSugar就会自动创建数据库和表。这段代码一般只执行一次,创建完成就注释,避免重复执行,影响程序执行效率。

执行结果:

 

 

 

在修改语句加上断点,可以去数据库查询到新增的记录

 

 

数据库查询结果

 

 

下面是程序执行过程中对应的sql语句

 

 

SqlSugar底层还是执行的SQL语句。

 

posted on 2022-04-27 10:20  细胞的理想  阅读(300)  评论(0编辑  收藏  举报