.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属性定义与普通实体类相同,但不定义实体类的表名。

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;
}

其它

未完待续...

上一篇:mysql增加普通用户后无法登陆问题的解决方法


下一篇:hashlib hmac configparser subprocess xlrd xlwt