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特性指定表名
[
public class StudentModel
{
//指定主鍵和自增列,當然數據庫中也要設置主鍵和自增列才會有效
[
public int Id { get; set; }
public string Name { get; set; }
}
根據實體類創建表
db.CodeFirst.SetStringDefaultLength(200/*設置varchar默認長度為200*/).InitTables(typeof(StudentModel));//執行完數據庫就有這個表了
總結:
SqlSugar是通過Queryable、Updateable、Deleteable和Insertable實現的增刪改查。