FreeSql(ORM)
介绍
FreeSql 是⼀个由国⼈开发并维护的C#⽣态优秀的ORM框架,⾄于是ORM(对象关系映射)框架,本⽂不再赘述。本⽂简单的来了解⼀下这款强⼤的ORM,它⼜有哪些过⼈之处! Github
特点
⽀持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。
⽀持 CodeFirst 迁移,哪怕使⽤ Access 数据库也⽀持;
⽀持 DbFirst 从数据库导⼊实体类,安装实体类⽣成⼯具; 彩铅芯
⽀持 深⼊的类型映射,⽐如pgsql的数组类型;
⽀持 丰富的表达式函数,以及灵活的⾃定义解析;
⽀持 导航属性⼀对多、多对多贪婪加载,以及延时加载;
⽀持 读写分离、分表分库、过滤器、乐观锁、悲观锁;
⽀持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/⼈⼤⾦仓/神⾈通⽤/翰⾼/Access;
可以说⽀持的数据库⾮常的多,并且还包括部分国产数据库
FreeSql的使⽤⽅式很多,在Github上也提供了使⽤的不同⽅式案例
开发者优先,以开发者为中⼼的设计理念,想你所想,亦享你所享。
FreeSql的学习和使⽤指南
基础
1. 《学习FreeSql之⼀:添加数据》
2. 《学习FreeSql之⼆:删除数据》
3. 《学习FreeSql之三:修改数据》
4. 《学习FreeSql之四:查询数据》
5. 《仓储层Repository》
进阶
1. 《CodeFirst模式开发介绍》=》《CodeFirst模式之⼀:实体特性》《CodeFirst模式之⼆:FluentApi》《CodeFirst模式之三:⾃生态砖
定义特性》《CodeFirst模式之四:类型映射》《CodeFirst模式之五:迁移结构》
2. 《DbFirst模式开发介绍》
钉⾼级
1. 《数据库事务》
2. 《使⽤读写分离》
3. 《分表分库》
4. 《多租户》
5. 《返回数据》
6. 《优化之:延时加载》
7. 《优化之:贪婪加载》
8. 《Expression 表达式函数》
9. 《AOP》
安装使⽤
dotnet add package FreeSql
基础的增删改查
查询
var blogs = fsql.Select() .Where(b => b.Rating > 3) .OrderBy(b => b.Url) .Skip(100) .Limit(10) //第100⾏-110⾏的记录 .ToList();
插⼊气囊减震
var blog = new Blog { Url = "xxx" };blog.BlogId = (int)fsql.Insert() .AppendData(blog) .ExecuteIdentity();
更新
发光细菌fsql.Update() .Set(b => b.Url, "sample") .Where(b => b.Url == "sample.") .ExecuteAffrows();
磁悬浮支架图片删除
fsql.Delete() .Where(b => b.Url == "sample") .ExecuteAffrows();
更多强⼤的功能,可以参考官⽅详细的⽂档
总结
FreeSql⽆疑是⼀个优秀的ORM框架,也是为⽣态添砖加⽡了,不仅仅是Freesql,还有类似的SqlSugar也是⼀个不错的ORM,它们不像EF那么重,但是功能⽐Dapper之类的⼜强很多,并且拥有着⽆与伦⽐的性能,值得推荐使⽤!