http://www.cnblogs.com/sunkaixuan/p/5911334.html
1、前言/Preface
SqlSugar从去年到现在已经一年了,版本从1.0升到了现在的2.8 ,这是一个稳定版本 ,有数家公司已经项目上线,在这里我将SqlSugar的功能重新整理成一篇新的贴子,希望大家喜欢。
公司团队项目、产品已经完全抛弃EF,SqlSugar定位不是ORM,而是为了方便的让你去写Sql。
媲美原生ADO.NET的性能、简洁的语法和支持Json 、Dynamic、 List<T>、 List<string[]>、 ValueType和 Dictionary 等多种类型的返回值 有很多亮点。
GitHub下载地址:
MSSQL .NET 4.0+
https://github.com/sunkaixuan/SqlSugar
MSSQL .NET Core 版本
https://github.com/sunkaixuan/ASP_NET_CORE_ORM_SqlSugar
Sqlite .net4.0+
https://github.com/sunkaixuan/SqliteSugar
MYSQL .NET 4.0+
http://www.cnblogs.com/sunkaixuan/p/5747259.html
ORACLE.NET 4.0+
https://github.com/sunkaixuan/OracleSugar
ORACLE CORE ,MYSQL CORE,SQLITE CORE 待开发
最新更新:
3.0.02
可以设置生成实体的摘要
var temSummary = ClassTemplate.ClassFieldSummaryTemplate;
批量添加别名表功能
//批量设置别名表 //db.ClassGenerating.ForeachTables(db, tableName => //{ // db.AddMappingTable(new KeyValue() { Key = tableName.Replace("bbs.",""), Value = tableName }); //key实体名,value表名 //});
别名列功能
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NewTest.Dao; using System.Data.SqlClient; using SqlSugar; namespace NewTest.Demos { //别名列的功能 public class MappingColumns : IDemos { public void Init() { Console.WriteLine("启动MappingColumns.Init"); //全局设置 using (var db = SugarFactory.GetInstance()) { var list = db.Queryable<Student>().Where(it=>it.classId==1).ToList(); } } public class Student { //id public int classId { get; set; } //name public string className { get; set; } //sch_id public int classSchoolId { get; set; } public int isOk { get; set; } } /// <summary> /// 全局配置别名列(不区分表) /// </summary> public class SugarConfigs { //key实体字段名 value表字段名 ,KEY唯一否则异常 public static List<KeyValue> MpList = new List<KeyValue>(){ new KeyValue(){ Key="classId", Value="id"}, new KeyValue(){ Key="className", Value="name"}, new KeyValue(){ Key="classSchoolId", Value="sch_id"} }; } /// <summary> /// SqlSugar实例工厂 /// </summary> public class SugarFactory { //禁止实例化 private SugarFactory() { } public static SqlSugarClient GetInstance() { string connection = SugarDao.ConnectionString; //这里可以动态根据cookies或session实现多库切换 var db = new SqlSugarClient(connection); //注意:只有启动属性映射才可以使用SetMappingColumns db.IsEnableAttributeMapping = true; db.SetMappingColumns(SugarConfigs.MpList);//设置关联列 (引用地址赋值,每次赋值都只是存储一个内存地址) return db; } } } }