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;
     }

详情看官方文档

相关推荐
kfaino1 小时前
码农的AI翻身(五)你好,我叫 Transformer
后端·aigc
Oneslide7 小时前
机械革命 单系统纯净重装Ubuntu(全盘覆盖,清空原有Windows)
后端
GetcharZp7 小时前
告别OOM!用Go+libvips实现30000×50000超大图片的流式瓦片服务
后端·go
IT_陈寒7 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
用户47949283569158 小时前
6w star,GitHub 趋势第一的 Ponytail,这个agent插件到底在火什么
前端·后端
神奇小汤圆9 小时前
2026一线大厂Java八股文精选(附答案,高质量整理)
后端
Warson_L10 小时前
LangGraph入门学习资料
后端
神奇小汤圆10 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
后端
kfaino10 小时前
码农的AI翻身(四)你好,我叫 Attention
人工智能·后端
lwx5728010 小时前
探秘InnoDB:搞懂它的内存、线程、磁盘与日志刷盘策略
java·后端