C# SqlSugar框架的學習使用(一)--SqlSugar簡介及創建


C# SqlSugar框架的學習使用(一)--SqlSugar簡介及創建

SqlSugar介紹

SqlSugar ORM,NET 4.+ & .NET CORE 高性能輕量級ORM框架,眾多.NET框架中最容易使用的數據庫訪問技術。

主頁:http://www.codeisbug.com/

下載地址:https://github.com/sunkaixuan/SqlSugar

當然也可以直接用Nuget安裝,非常方便。

 

SqlSugar的16大功能

 

SqlSugar查詢特色

 

SqlSugar的優點

  • 高性能 ,不誇張的說,去掉Sql在數據庫執行的時間,SqlSugar是EF數倍性能,另外在批量操作和一對多查詢上也有不錯的SQL優化

  • 高擴展性 ,支持自定義拉姆達函數解析、擴展數據類型、支持自定義實體特性,外部緩存等

  • 穩定性和技術支持,  雖然不是官方ORM, 但在穩定性上也是有着數年用戶積累,如果遇到問題可以在GITHUB提出來,會根據緊急度定期解決

  • 功能全面,雖然SqlSugar小巧可功能並不遜色於EF框架

  • 創新、持續更新 ,向下兼容

 

SqlSugar項目創建

我們打開VS2017,新建一個C#的桌面應用程序,起名為SqlSugarTest

 

然后鼠標右鍵選擇引用,選擇管理NuGet程序包

 

然后點擊瀏覽后輸入sqlsugar查找,找到的第一個就是直接點擊安裝

 

安裝完后點擊已安裝,並且點開右邊的引用后也可以看到SqlSugar就已經安裝好了,如下圖

 

SqlSugar的簡單用法
SqlSugarClient db = new SqlSugarClient( new ConnectionConfig() { ConnectionString = "server=.;uid=sa;pwd=@jhl85661501;database=SqlSugar4XTest", DbType = DbType.SqlServer,//設置數據庫類型 IsAutoCloseConnection = true,//自動釋放數據務,如果存在事務,在事務結束后釋放 InitKeyType = InitKeyType.Attribute //從實體特性中讀取主鍵自增列信息 });//用來打印Sql方便你調試    db.Aop.OnLogExecuting = (sql, pars) => { Console.WriteLine(sql + "\r\n" +  db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value))); Console.WriteLine(); }; /*查詢*/var list = db.Queryable<StudentModel>().ToList();//查詢所有var getById = db.Queryable<StudentModel>().InSingle(1);//根據主鍵查詢var getByWhere = db.Queryable<StudentModel>().Where(it=>it.Id==1).ToList();//根據條件查詢var total = 0;var getPage = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToPageList(1,2,ref total);//根據分頁查詢//多表查詢用法 http://www.codeisbug.com/Doc/8/1124/*插入*/var data = new Student() { Name = "jack" };db.Insertable(data).ExecuteCommand();//更多插入用法 http://www.codeisbug.com/Doc/8/1130/*更新*/var data2 = new Student() { Id =1, Name = "jack" };db.Updateable(data2).ExecuteCommand();//更多更新用法 http://www.codeisbug.com/Doc/8/1129/*刪除*/db.Deleteable<StudentModel>(1).ExecuteCommand();

 

實體類用法

//如果實體類名稱和表名不一致可以加上SugarTable特性指定表名[SugarTable("Student")]public class StudentModel{ //指定主鍵和自增列,當然數據庫中也要設置主鍵和自增列才會有效 [SugarColumn(IsPrimaryKey=true,IsIdentity =true)] public int Id { get; set; } public string Name { get; set; }}

 

根據實體類創建表

 

db.CodeFirst.SetStringDefaultLength(200/*設置varchar默認長度為200*/).InitTables(typeof(StudentModel));//執行完數據庫就有這個表了

 

總結:

SqlSugar是通過Queryable、Updateable、Deleteable和Insertable實現的增刪改查。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM