创建数据模型
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; }
详情看官方文档