摘要:
写在开头 2018年11月头脑发热到今天,一晃已经两年,当初从舒服区走向一个巨大的坑,回头一看后背一凉。 两年时间从无到有,经历数不清的日夜奋斗(有人问花了多长时间投入,答案:全职x2 + 两年无休息)。 今天 FreeSql 已经很强大,感谢第一批、第二批、第N批持续提出建议的朋友,总算给社区交了 阅读全文
摘要:
前言 .NETCore 从1.0发布历经坎坷,一开始各种库缺失到现在的部分完善,走到今天实属不易。 比如 redis cli SDK 简直是坑出不穷。 过去 .net 最有名望的 ServiceStack.Redis 早已沦为商业用途,在 .NETCore 中使用只能充值; 后来居上的 StackE 阅读全文
摘要:
写在开头 众所周知 Dapper 是 .NET 下最轻最快的 ORM,它是喜欢写 SQL 码农的福音,相对于 SqlHelper 它更加方便,据统计 10个 .NETer 有 9个 用过 Dapper。 由于 .NET 环境的特殊,对 Lambda 表达式树的喜爱,于是市面上有很多出现了基于 Dap 阅读全文
摘要:
写在开头 FreeRedis 是一款继 CSRedisCore 之后重写的 .NET redis 客户端开源组件,以 MIT 协议开源托管于 github,目前支持 .NET 5、.NETCore 2.1+、.NETFramework 4.0+、Xamarin,有可能已经支持 AOT 编译(目前未测 阅读全文
摘要:
什么是 FreeRedis FreeRedis 是一款 .NET redis 客户端开源组件,以 MIT 协议开源托管于 github,目前支持 .NET 5、.NETCore 2.1+、.NETFramework 4.0+、Xamarin,有可能已经支持 AOT 编译(目前未测试,但会往这个方向走 阅读全文
摘要:
写在开头 FreeSql 是 .NET 开源生态下的 ORM 轮子,转眼快两年了,说真的开源不容易(只有经历过才明白)。今天带点干货和湿货给大家,先说下湿货。 认识我的人,知道 CSRedisCore 是我写的另外一个开源组件,这个项目是 2016 年从 ctstone/csredis 项目 clo 阅读全文
摘要:
写在开头 前两天写了一篇为新人使用 FreeSql 解惑的文章,目的让他们使用前先了解优势、解决了什么痛点,招来了一些"飞来横黑",导致这两天一直忙于口舌之争,搞得心情也不好,QQ群 和 github issues 回复比平时怠慢了许多,写这篇文章前刚刚回答了 10 个小时之前的两个 issues, 阅读全文
摘要:
.NET ORM 前言 为什么要写这篇文章? 希望针对 SEO 优化搜索引擎,让更多中国人知道并且使用。目前百度搜索 .NET ORM 全是 sqlsugar,我个人是无语的,每每一个人进群第一件事就是拿来比较,每天要重复回答、重复解答、说服他们。想说服标签是名气大、使用者多的同类型 .NET OR 阅读全文
摘要:
理论知识 分表 - 从表面意思上看呢,就是把一张表分成N多个小表,每一个小表都是完正的一张表。分表后数据都是存放在分表里,总表只是一个外壳,存取数据发生在一个一个的分表里面。分表后单表的并发能力提高了,磁盘I/O性能也提高了。并发能力为什么提高了呢,因为查寻一次所花的时间变短了,如果出现高并发的话, 阅读全文
摘要:
写在开头 从最早期入门时的单表操作, 到后来接触了 left join、right join、inner join 查询, 因为经费有限,需要不断在多表查询中折腾解决实际需求,不知道是否有过这样的经历? 本文从实际开发需求讲解导航属性(ManyToOne、OneToMany、ManyToMany)的 阅读全文
摘要:
事务是数据库系统中的重要概念,本文讲解作者从业 CRUD 十余载的事务多种使用方式总结。 以下所有内容都是针对单机事务而言,不涉及分布式事务相关的东西! 关于事务原理的讲解不针对具体的某个数据库实现,所以某些地方可能和你的实践经验不符。 认识事务 为什么需要数据库事务? 转账是生活中常见的操作,比如 阅读全文
摘要:
写在开头 FreeSql 是 .NET 开源生态下的 ORM 轮子,在一些人眼里属于重复造轮子:不看也罢。就像昨天有位朋友截图某培训直播发给我看,内容为:“FreeSQL(个人产品),自己玩可以,不要商用。ORM框架:1.安全、稳定(更新稳定、有BUG有人修复,有人升级)”。 这突出其来的“关爱”, 阅读全文
摘要:
废话开头 这篇文章是我有史以来编辑最长时间的,历时 4小时!!!原本我可以利用这 4小时编写一堆胶水代码,真心希望善良的您点个赞,谢谢了!! 很久很久没有写文章了,上一次还是在元旦发布 1.0 版本的时候,今年版本规划是每月底发布小版本(年底发布 2.0),全年的开源工作主要是收集用户需求增加功能, 阅读全文
摘要:
一、简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin。 从 0.0.1 发布,历时整整一年的迭代更新,原计划元旦发布1.0,可能作者比较急提前了几天发布。其实是元旦有其他事…… 本 阅读全文
摘要:
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务。多年来,达梦公司始终坚持原始创新、独立研发,目前已掌握数据管理与数据分析领域的核心前沿 阅读全文
摘要:
FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址: "https://github.com/2881099/FreeSql" 随着不断的迭代更新,越来越稳定,也越来越强大。预计在一周年的时候(2020年1月1日)发布 1.0 正式版本。 金九银十的日子过去了,在 阅读全文
摘要:
FreeSql 开源发布快一年了,目前主仓库代码量 64118 行,用 git 命令统计的命令如下: find . "(" name " .cs" ")" print | xargs wc l 加上其他几个扩展包的代码,大约有 70000 行源码。 仓库地址: "https://github.com 阅读全文
摘要:
写在前面 FreeSql 一个款 .net 平台下支持 .net framework 4.5+、.net core 2.1+ 的开源 ORM。单元测试超过3100+,正在不断吸引新的开发者,生命不息开发不止。 和 EFCore 一样,我们也有导航对象,支持【OneToOne】(一对一)、【ManyT 阅读全文
摘要:
FreeSql 是一个功能强大的对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.5+ QQ群:4336577(已满)、8578575(在线)、52508226(在线) FreeSql采用MIT开源协议托管于 github,地址:(https://g 阅读全文
摘要:
前言 FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章 "《ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE》" ,您可以先阅读上一篇文章内容了解来龙去脉,再回到这里观看。 我个人非常喜欢小规模团队的"单打独斗",有的时候即使 阅读全文
摘要:
ImCore 利用 webSocket 协议实现简易、高性能、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能。 Quick Start dotnet add package ImCore IM服务端 一套永远不需要迭代更新的IM服务端 WebApi业务端 | ImHel 阅读全文
摘要:
FreeSql 经过半年的开发和坚持维护,在 0.6.x 版本中完成了几大重要事件: 1、按小包拆分,每个数据库实现为单独 dll; 2、实现 .net framework 4.5 支持; 3、同时支持 MySql.Data、MySqlConnector 的实现; 4、自定义导航属性关系的配置; 5 阅读全文
摘要:
前言 FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+。QQ群:4336577(已满)、8578575(在线)、52508226(在线) 据了解,用户使用很少问问题,编码过 阅读全文
摘要:
前言 FreeSql 在经过6个月的开发和朋友们的工作实践,不断的改进创新,目前拥有1500个左右单元测试方法,且每个方法内又复盖不同的测试面。 今天介绍 FreeSql 各种贪婪加载的姿势,作下总结。本节内容对应的还有【延时加载】,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出 阅读全文
摘要:
前言 FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测试工作。 最近的一段时间,关注我们的人时不时会看见扩展包发布,今天振奋人心的功能主要是核心部分实现( 阅读全文
摘要:
弱类型 之前在操作实体时,必须传统泛型参数,现在可以实现弱类型实体的操作。以 Repository 为例: 然后呢,DbContext 也支持同样的操作。 ToList & Mapper 现在支持 ToList(a = new Dto()) 这样的简单数据映射,然后它会依次序匹配 LeftJoin/ 阅读全文
摘要:
前言 这是一篇纯技术干货的分享文章,FreeSql 已经基本完成 .NETCore 最方便的 ORM 使命,我们正在筹备生态的建立,比如 ABP 中如何使用 FreeSql 的实现,需要各种各样的扩展包,好多好多工作量。有没有大神愿意无偿参与做这件事情,好吧。。应该没有人!! 大约是在三天前,因为使 阅读全文
摘要:
简介 提示,这个功能已经默认集成到 FreeSql.dll 中,无须引用 FreeSql.Connection.Extensions.dll FreeSql.Connection.Extensions 这是 FreeSql 衍生出来的扩展包,实现(Mysql/postgresql/sqlserver 阅读全文
摘要:
简介 FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+。 定义 入门篇 查询 1、查询一条 2、分页:第1页,每页20条 细节说明:SqlServer 2012 以前的版本 阅读全文
摘要:
上回说到 FreeSql.DbContext 的规则,以及演示它的执行过程,可惜当时还不支持“乐观锁”,对于更新数据来讲并不安全。 FreeSql 核心库 v0.3.27 已提供乐观锁支持。 实现原理 乐观锁的原理,是利用实体某字段,如:long version,更新前先查询数据,此时 versio 阅读全文
摘要:
FreeSql 发展到现在,已经有两种稳定的开发模式,以下先简单带过一下。后面才是本文的主题。 方法一:基于 helper 的方式,祼用; dotnet add package FreeSql 提供 CodeFirst、DbFirst、丰富的表达式树、读写分离、AOP等功能支持; 方法二:基于 Re 阅读全文
摘要:
FreeSql.DbContext 实现类似 EFCore 使用方法,跟踪对象状态,最终通过 SaveChanges 方法提交事务。 目前是第二个初版,已实现状态跟踪保存(导航属性的跟踪暂时不支持)。 另外还缺少 rowversion 行锁机制,这个现实好就可以在项目中使用了。 安装 dotnet 阅读全文
摘要:
这篇文章受大家邀请,与 SqlSugar 做一次简单的性能测试对比。主要针对插入、批量插入、批量更新、读取性能的测试; 测试环境 .net core 2.2 FreeSql 0.3.17 sqlSugarCore 4.9.9.3 sqlserver 14.00.1000 Express、mysql 阅读全文
摘要:
FreeSql FreeSql 是一个功能强大的 NETStandard 库,用于对象关系映射程序(O/RM),提供了 CodeFirst/DbFirst/CURD/表达式函数/读写分离 等基础封装。支持 .NETCore 2.1+ 或 .NETFramework 4.0+。 新的查询功能 且先看看 阅读全文
摘要:
FreeSql.Repository 实现了过滤器,它不仅是查询时过滤,连删除/修改/插入时都会进行验证,避免数据安全问题。 过滤器 目前过滤器依附在仓储层实现,每个仓储实例都有 IDataFilter 属性,可利用其完成过滤器管理,它是独立的修改后不影响全局。 临时禁用 如何使用仓储 dotnet 阅读全文
摘要:
FreeSql 项目从2018年11月28日开发至今,版本已发布至 v0.3.12,版本规则:年数 月 日 当日版本号。目前主要包括 FreeSql、FreeSql.Repository 两个项目的维护和开发。这篇文章介绍有哪些贴心功能。 错误:传入的请求具有过多的参数。该服务器支持最多 2100 阅读全文
摘要:
首先声明这篇文章不是标题党,我说的这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参考 abp vnext 定义,实现了基础的仓储层(CURD)。 安装 dotnet add package FreeSql.Repository 可用于:.net fram 阅读全文
摘要:
FreeSql 是 .NetFramework 4.6+、.NetCore 下的 ORM 功能库,提供了丰富的功能,支持五种流行数据库 MySql/SqlServer/PostgreSQL/Oracle/Sqlite。 正常的数据库都支持跨库,然而 Sqlite 默认不支持,或者说支持起来较为麻烦, 阅读全文
摘要:
前言 好多年前,DAL 作为数据库访问层,其实是非常流行的命名方式。 不知道从什么时候开始,仓储层成了新的时尚名词。目前了解到,许多人只要在项目中看见 DAL 就会觉得很 low,但是比较可笑的一点是,多数的仓储层与 DAL 实质在做同样的事情。 本文正要介绍这种比较 low 的方式,来现实通用的仓 阅读全文
摘要:
EFCore 和 FreeSql 都是 ORM,在各自领域都有着独特的优势。 问题起源 假设某项目是使用 EFCore 开发的,且实体 特性或FluentApi 都配置好了,如: 此时用 FreeSql 操作实体会报错:数据库表不存在。除非又配置一套FreeSql的 特性或FluentApi,这显然 阅读全文
摘要:
2019.2.11 开工大吉!经过了半个月的休假,今天回归岗位重新拾起工作,却发现熟悉的代码生疏了、年前的计划回忆不起来了,俗称“节后综合症”。 忆半月圈子 过年放假的前几天有多篇年度总结的文章,当时满怀激情的心情发表了 "《【纯技术贴】.NETStandard FreeSql v0.0.9 功能预 阅读全文