网站首页 > 技术文章 正文
介绍
FreeSql 是一个由国人开发并维护的C#生态优秀的ORM框架,至于是ORM(对象关系映射)框架,本文不再赘述。本文简单的来了解一下这款强大的ORM,它又有哪些过人之处!
Github
https://github.com/dotnetcore/FreeSql
特点
支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。
- 支持 CodeFirst 迁移,哪怕使用 Access 数据库也支持;
- 支持 DbFirst 从数据库导入实体类,安装实体类生成工具;
- 支持 深入的类型映射,比如pgsql的数组类型;
- 支持 丰富的表达式函数,以及灵活的自定义解析;
- 支持 导航属性一对多、多对多贪婪加载,以及延时加载;
- 支持 读写分离、分表分库、过滤器、乐观锁、悲观锁;
- 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/人大金仓/神舟通用/翰高/Access;
可以说支持的数据库非常的多,并且还包括部分国产数据库
FreeSql的使用方式很多,在Github上也提供了使用的不同方式案例
开发者优先,以开发者为中心的设计理念,想你所想,亦享你所享。
FreeSql的学习和使用指南
基础
- 《学习FreeSql之一:添加数据》
- 《学习FreeSql之二:删除数据》
- 《学习FreeSql之三:修改数据》
- 《学习FreeSql之四:查询数据》
- 《仓储层Repository》
进阶
- 《CodeFirst模式开发介绍》=》《CodeFirst模式之一:实体特性》《CodeFirst模式之二:FluentApi》《CodeFirst模式之三:自定义特性》《CodeFirst模式之四:类型映射》《CodeFirst模式之五:迁移结构》
- 《DbFirst模式开发介绍》
高级
- 《数据库事务》
- 《使用读写分离》
- 《分表分库》
- 《多租户》
- 《返回数据》
- 《优化之:延时加载》
- 《优化之:贪婪加载》
- 《Expression 表达式函数》
- 《AOP》
安装使用
dotnet add package FreeSql
基础的增删改查
- 查询
var blogs = fsql.Select<Blog>()
.Where(b => b.Rating > 3)
.OrderBy(b => b.Url)
.Skip(100)
.Limit(10) //第100行-110行的记录
.ToList();
- 插入
var blog = new Blog { Url = "http://xxx" };
blog.BlogId = (int)fsql.Insert<Blog>()
.AppendData(blog)
.ExecuteIdentity();
- 更新
fsql.Update<Blog>()
.Set(b => b.Url, "http://sample")
.Where(b => b.Url == "http://sample.")
.ExecuteAffrows();
- 删除
fsql.Delete<Blog>()
.Where(b => b.Url == "http://sample")
.ExecuteAffrows();
更多强大的功能,可以参考官方详细的文档
总结
FreeSql无疑是一个优秀的ORM框架,也是为.net生态添砖加瓦了,不仅仅是Freesql,还有类似的SqlSugar也是一个不错的ORM,它们不像EF那么重,但是功能比Dapper之类的又强很多,并且拥有着无与伦比的性能,值得推荐使用!
- 上一篇: MySQL:count(*)为什么这么慢?
- 下一篇: 京东面试:说说MySQL的架构体系
猜你喜欢
- 2025-03-19 Mysql创建用户和权限管理(mysql创建用户和权限管理的区别)
- 2025-03-19 MySQL之慢查询日志分析(mysql产生慢日志的主要原因)
- 2025-03-19 为什么我们禁止了MySQL深分页查询?原理分析与实战优化
- 2025-03-19 《MySQL必知必会》_笔记03(mysql必知必会 百度云)
- 2025-03-19 MySQL数据库性能优化(mysql5.7性能优化)
- 2025-03-19 Mysql 数据库运维方案(mysql运维内参)
- 2025-03-19 Mysql高性能优化笔记(含578页笔记PDF文档),收藏了
- 2025-03-19 MySQL数据库竟能自动同步?打造双保险备份方案,运维半夜笑醒
- 2025-03-19 一条简单的更新语句,MySQL是如何加锁的?
- 2025-03-19 mysql表分区实现-range(mysql分区和分表优缺点)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)