ASP.NET Core中SqlSugar基本使用

创建数据模型

复制代码
 public class News
 {
     [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
     public int Id { get; set; }
     //nvarchar带中文比较好
     [SugarColumn(ColumnDataType = "nvarchar(30)")]
     public string Title { get; set; }
     [SugarColumn(ColumnDataType = "text")]
     public string Content { get; set; }
     public DateTime Time { get; set; }
     public int BrowseCount { get; set; }
     public int LikeCount { get; set; }
 ​
     public int TypeId { get; set; }
     public int WriterId { get; set; }
     /// <summary>
     /// 类型,不映射到数据库
     /// </summary>
     [SugarColumn(IsIgnore = true)]
     public TypeInfo TypeInfo { get; set; }
 ​
 ​
 }

注册依赖

复制代码
 //注册上下文:AOP里面可以获取IOC对象,如果有现成框架比如Furion可以不写这一行
 builder.Services.AddHttpContextAccessor();
 //注册SqlSugar用AddScoped
 builder.Services.AddScoped<ISqlSugarClient>(s =>
 {
     //Scoped用SqlSugarClient 
     SqlSugarClient sqlSugar = new SqlSugarClient(new ConnectionConfig()
     {
         DbType = SqlSugar.DbType.SqlServer,
         ConnectionString = "Server=LAPTOP-F352TNCB\\SQLEXPRESS;Database=MyTestDB;Trusted_Connection=True;Encrypt=True;TrustServerCertificate=True;",
         IsAutoCloseConnection = true,
     });
     return sqlSugar;
 });

创建表

复制代码
 private readonly ISqlSugarClient db;
 ​
 public GetString(ISqlSugarClient db)
 {
     this.db = db;
 ​
     db.DbMaintenance.CreateDatabase();//达梦和Oracle不支持建库
 ​
     //建表(看文档迁移)
     db.CodeFirst.InitTables<News>(); //所有库都支持    
 ​
 ​
 ​
 }

增删改查

复制代码
 public List<News> Get()
 {
     //查询表的所有
     var list = db.Queryable<News>().ToList();
     return list;
 }
 ​
 public bool Add()
 {
     int result=db.Insertable(new News() { Id=1,Title="hhh",Content="dfafasaf" }).ExecuteCommand();
     if (result != 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
 ​
 public bool Update()
 {
     int result = db.Updateable(new News() { Id = 2, Title = "qqq", Content = "1111111" }).ExecuteCommand();
     if (result != 0)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
 ​
 public bool Delete()
 {
     int result = db.Deleteable<News>().Where(it => it.Id == 2).ExecuteCommand();
     if (result != 0)
     {
         return true;
     }
     else
     {
         return false;
     }

详情看官方文档

相关推荐
我是谁的程序员7 分钟前
有没有在 iOS 直接抓包 的App?
后端
5***b9713 分钟前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端
无限大620 分钟前
为什么"算法推荐"这么准?——从协同过滤到深度学习
后端
林太白36 分钟前
Vite8 Beta来了,Rolldown携手Oxc
前端·javascript·后端
程序员小假1 小时前
设计一个支持万人同时抢购商品的秒杀系统?
java·后端
L***d6701 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
37手游后端团队1 小时前
gorm回读机制溯源
后端·面试·github
古城小栈1 小时前
Rust 的 validator 库
开发语言·后端·rust
上进小菜猪2 小时前
基于 YOLOv8 的昆虫智能识别工程实践 [目标检测完整源码]
后端
superman超哥2 小时前
Rust 异步递归的解决方案
开发语言·后端·rust·编程语言·rust异步递归