.NET数据库ORM框架SqlSugar使用笔记
官方介绍
以下介绍来自SqlSugar官网:
- 高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化
- 高扩展性 ,支持自定义拉姆达函数解析、扩展数据类型、支持自定义实体特性,外部缓存等
- 稳定性和技术支持, 虽然不是官方ORM, 但在稳定性上也是有着数年用户积累,如果遇到问题可以在GITHUB提出来,会根据紧急度定期解决
- 功能全面,虽然SqlSugar小巧可功能并不逊色于EF框架
- 创新、持续更新 ,向下兼容
版本选择
版本:4.9.9.10,4.X最新版稳定版本 支持.NET 4.0+ .NET CORE 2.0+
github:SqlSugar
百度网盘:SqlSugar-4.9.9.10(带编译后Debug下的dll,提取码:j7wc)
CodeFirst
动态建表
按时间建立Student的历史表,可以直接使用之前的Student实体定义类,会自动覆盖Student类[SugarTable("student")]特性定义的表别名。
var db = DBManager.ConnectInstance_History;
string tableName = "student_" + DateTime.Now.Ticks;
db.MappingTables.Add(typeof(Student).Name, tableName);
try
{
db.CodeFirst.InitTables(typeof(Student));
}
catch (Exception)
{
Console.WriteLine("数据库新建数据表:"+tableName);
}
数据库管理
获取数据表总记录数
public static int GetTableCount()
{
var db = DBManager.ConnectInstance;
var pageIndex = 1;
var pageSize = 1;
var totalCount = 0;
var page = db.Queryable<Student>().OrderBy(it => it.Id).ToPageList(pageIndex, pageSize, ref totalCount);
Console.WriteLine(typeof(Student).Name + "总记录数为" + totalCount);
return totalCount;
}
其它
未完待续...