FreeSql FreeSql 是一个功能强大的 NETStandard 库,用于对象关系映射程序(O/RM),提供了 CodeFirst/DbFirst/CURD/表达式函数/读写分离 等基础封装。...包 dotnet add package FreeSql.Repository 在 startup.cs 中定义 IFreeSql 和注入仓储 public Startup(IConfiguration...() .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|/document.db;Pooling...FreeSql.Repository 参考 abp vnext 接口,定义和实现基础的仓储层(CURD)。...感谢您的关注,github:https://github.com/2881099/FreeSql,求给出宝贵的一星,谢谢!
FreeSql 开源发布快一年了,目前主仓库代码量 64118 行,用 git 命令统计的命令如下: find . "(" -name "*.cs" ")" -print | xargs wc -l 加上其他几个扩展包的代码...仓库地址:https://github.com/2881099/FreeSql 在金九银十的日子,发布了两大重要支持更新,分别是 .NetFramework4.0 和 ODBC。...GlobalFilter 全局过滤 FreeSql 基础层实现了 Select/Update/Delete 可设置的全局过滤器功能。...FreeSql.Repository 也同样实现了过滤器功能,它不仅是查询时过滤,连删除/修改/插入时都会进行验证,避免数据安全问题。...更多功能 请移步更新日志:https://github.com/2881099/FreeSql/wiki/%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97
前言 FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测试工作...FreeSql 本身支持了丰富的类型,不限于 json,但是限定了类型的映射,比如 JToken/JObject/JArray 的实体类型才可以映射至 PostgreSQL 数据库的 json 类型。...作为新项目开发,我们提供本身的默认类型映射已经非常人性化,提这些需求的人主要还是历史原因,咱们做程序维护工作的人员还是占比很高,千怪万怪只能怪 FreeSql 来得太迟。。。。...大约是前一段时间的某一天(废话),因为使用 FreeSql 的某项目需要做一个简单的后台功能,以便录入或管理数据。...在实施的过程中好怀念当初 dotnetGen 生成器的味道,用它产生 curd 基本功能几乎是秒做; FreeSql.AdminLTE,是的就是它,前段时间发布过一次。
FreeSql 发展到现在,已经有两种稳定的开发模式,以下先简单带过一下。后面才是本文的主题。...方法一:基于 helper 的方式,祼用; dotnet add package FreeSql 提供 CodeFirst、DbFirst、丰富的表达式树、读写分离、AOP等功能支持; 方法二:基于 Repository...+ UnitOfWok 的方式; dotnet add package FreeSql.Repository 这是一个扩展包,提供标准的 IRepository 接口定义与默认实现,以及 UnitOfWork...希望 FreeSql.DbContext 随着时间的积累,稳定性和成熟度有所提升,不久成为一个真正的 ORM。 有人会担心,我们第三方做的不靠谱,没有 EFCore 稳定的说话,这个是当然。...github: https://github.com/2881099/FreeSql 377星 还请献上宝贵的一星,谢谢观看!!
欢迎来到《FreeSql.Repository 仓储模式》系列文档,完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql是功能强大的...QQ群:4336577(已满)、8578575(在线)、52508226(在线) FreeSql 支持五种使用方式,根据实际情况选择团队合适的一种: 要么 FreeSql,原始用法; 要么 FreeSql.Repository...,仓储+工作单元习惯; 要么 FreeSql.DbContext,有点像 EFCore 的使用习惯; 要么 FreeSql.BaseEntity,求简单使用这个; 要么 IDbConnection CRUD...where TEntity : class { TEntity Get(TKey id); TEntity Find(TKey id); int Delete(TKey id); } FreeSql.Repository...FreeSql.Repository 在基本功能上有额外的定义: 状态管理,只更新变化的字段; 支持使用导航属性、多表查询、级联加载、级联保存; 动态实体类型的 CRUD; 过滤器; 后续文章将对 FreeSql.Repository
前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下。嗯,想不到我也能带个货了。哈哈,开个玩笑~看了下觉得设计的挺有意思的,所以就谢了这篇文章。...提示如图内容,需要我们手动安装一下FreeSql的SQLite驱动,安装之后: dotnet add packages FreeSql.Provider.Sqlite FreeSql针对各种受支持的数据库都单独开发了驱动包...,统一命名为: FreeSql.Provider....FreeSql对于单表的数据删除相对克制而谨慎。那么就让我们简单看一下如何进行删除吧。...关于FreeSql的基础内容就到这里了,如果对FreeSql有更多的需求的话,可以踊跃吐槽哦~~如果有小伙伴还想看的话,我将会继续为大家讲解的。
FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/FreeSql 随着不断的迭代更新,越来越稳定,也越来越强大...提供了多种插入或更新方法,v0.11 之前主要使用 FreeSql.Repository/FreeSql.DbContext 库提供的方法实现。...FreeSql.Repository 之 InsertOrUpdate 此方法与 FreeSql.DbContext AddOrUpdate 方法功能一样。...存在则更新,不存在则插入 缺点:不支持批量操作 新功能:MySql 特有功能 On Duplicate Key Update FreeSql.Provider.MySql 和 FreeSql.Provider.MySqlConnector...仓库地址:https://github.com/2881099/FreeSql
FreeSql 支持的类型较多,现实 ExpressionTree 的复杂度较大,有兴趣的朋友可以翻阅源代码。...除了FreeSql作者同时在维护超过十年的代码生成器dotnetGen项目,它是一款支持超快速开发且高度可控的解决方案,非常喜欢 DbFirst 的开发模式,因此在 FreeSql for DbFirst...借此文章介绍FreeSql这个国产ORM,希望能得到大家的支持。 FreeSql 口号:打造 .NETCore 最方便的 ORM!...项目地址:https://github.com/2881099/FreeSql 文档中心:https://github.com/2881099/FreeSql/wiki 最后诚心邀请您的参与加入,一起完成...FreeSql 的使命。
上回说到 FreeSql.DbContext 的规则,以及演示它的执行过程,可惜当时还不支持“乐观锁”,对于更新数据来讲并不安全。 FreeSql 核心库 v0.3.27 已提供乐观锁支持。...无论是使用 FreeSql/FreeSql.Repository/FreeSql.DbContext,每次更新 version 的值都会增加 1 至此,FreeSql.DbContext 的更新操作就安全了...var fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source...总结 FreeSql.DbContext 实现类似 EFCore 使用方法,跟踪对象状态,最终通过 SaveChanges 方法提交事务。...配合乐观锁这个杀手锏,FreeSql 越来越有 ORM 的影子了。 github: https://github.com/2881099/FreeSql (求星星,谢谢)
拆分小包 在此之前一直被吐槽 FreeSql 臃肿,没有小包开发理念。其实我是一点也不承认这种评价,虽然刚开始只有一个 FreeSql.dll,但是在开发和规划上简单了很多。...这个时机也是奠定 FreeSql 走出了稳定关键的一步。这样会有更多人愿意加入 FreeSql 阵营。...各数据库单独包、延时加载包; FreeSql.Extensions.LazyLoading FreeSql.Provider.MySql FreeSql.Provider.PostgreSQL FreeSql.Provider.SqlServer...FreeSql.Provider.Sqlite FreeSql.Provider.Oracle 支持 .netframework 4.5 早期 FreeSql 主要是在 .net core 最方便的...FreeSql.Provider.Oracle")?.
前言今天分享一款基于.NET+FreeSql实现的仿掘金专栏前后端分离、支持Docker部署、集成了OAtuh2授权登录、QQ、Github、Gitee快速登录、简单实用的CMS:lin-cms-dotnetcore...Lin CMS By .NET使用技术ORM:FreeSql支持数据库:MySQL5.6/MsSqlServer/Oracle/Sqlite/PostgreSQLASP.NET Core + WebAPI
首先声明这篇文章不是标题党,这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参考 abp vnext 定义,实现了基础的仓储层(CURD)。...FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory...注意:虽然 FreeSql 支持 CodeFirst 迁移,但不提供迁移分表,开发环境中仍然可以迁移 Log 表。...在client端支持; FreeSql 实现的是第3种方案,支持一个【主库】多个【从库】,【从库】的查询策略为随机方式。...2019-03-05 22:30 github: https://github.com/2881099/FreeSql
这一篇我们将来学习如何在 ABP 中添加数据库配置以及划分一个简单数据库模块的结构,我们将使用 EFCore + Freesql 来搭建数据库模块。 强烈推荐 Freesql!...Freesql FreeSql.Provider.Sqlite FreeSql.Provider.SqlServer FreeSql.Provider.MySql 创建标准的 EFCore...下面我们来使用类似的方法配置 Freesql。...Freesql 配置服务 首先,Freesql 里面有多种配置方式,例如 DbContext,读者可以到 Wiki 去学习 Freesql:https://github.com/dotnetcore/FreeSql..., FreeSql.DataType dataType = FreeSql.DataType.Sqlite) { Freesql_Instance = new FreeSql.FreeSqlBuilder
简化用户定义实体类型,省去主键、常用字段的配置(如CreateTime、UpdateTime); 实现单表、多表查询的软删除逻辑; 声明 示范项目:https://github.com/2881099/FreeSql...tree/master/Examples/base_entity 参考 BaseEntity.cs 源码(约100行),拷贝项目中使用,然后添加 nuget 引用包: dotnet add package FreeSql.Repository...dotnet add package FreeSql.Provider.Sqlite 1、定义一个主键 int 并且自增的实体类型,BaseEntity TKey 指定为 int/long 时,会认为主键是自增...get; set; } public string GroupName { get; set; } } 有关更多实体的特性配置,请参考资料:https://github.com/2881099/FreeSql...一样; 支持多表查询时,软删除条件会附加在每个表中; 有关更多查询方法,请参考资料:https://github.com/2881099/FreeSql/wiki/%e6%9f%a5%e8%af%a2
这套分表、分库方法是建立在 .NET ORM FreeSql 之上做的,内容可能比较抽象,敬请谅解!后续会详解各种租户设计方案,除了按字段区分租户,还包括分库、分表的方案,敬请关注!...三、入戏准备 FreeSql 是 .Net ORM,能支持 .NetFramework4.0+、.NetCore、Xamarin、XAUI、Blazor、以及还有说不出来的运行平台,因为代码绿色无依赖,...值得高兴的是 FreeSql 加入了 ncc 开源社区:https://github.com/dotnetcore/FreeSql,加入组织之后社区责任感更大,需要更努力做好品质,为开源社区出一份力。...FreeSql 主要优势在于易用性上,基本是开箱即用,在不同数据库之间切换兼容性比较好。作者花了大量的时间精力在这个项目,肯请您花半小时了解下项目,谢谢。...); //请务必定义成 Singleton 单例模式 四、分表 既然是分表,那就大胆认为他是操作【单机数据库】,只需要对实体类进行动态映射表名即可实现,FreeSql 原生用法、FreeSql.Repository
前言 这是一篇纯技术干货的分享文章,FreeSql 已经基本完成 .NETCore 最方便的 ORM 使命,我们正在筹备生态的建立,比如 ABP 中如何使用 FreeSql 的实现,需要各种各样的扩展包...大约是在三天前,因为使用 FreeSql 的某项目需要做一个简单的后台功能,以便录入或管理数据。...看完预览图不由得再感叹一次 FreeSql 的易用性,那句口号:做 .NETCore 最方便的 ORM!没有说错。。。作者多次提及:“我们是日式简约风格,没那么复杂的用法”,也验证了这一点。。...这就牵连到 FreeSql.DbContext 了,是它过滤了执行操作,有兴趣可移步了解; 乐观锁 FreeSql (乐观锁)说明: 更新整个实体数据时,在并发情况下极容易造成旧数据将新的记录更新。...(QQ群:4336577) github: https://github.com/2881099/FreeSql https://github.com/2881099/FreeSql.AdminLTE
ENTRYPOINT ["dotnet", "HtArtGoWebApp.dll"] 然后安装数据库驱动 注入 FreeSql 以及定义实体,先定义实体,我在项目中新建了 Models 文件夹,实体都放在 Models 文件夹中,首先定义一个基础类 BaseEntity.cs public class...配置 fsql = new FreeSql.FreeSqlBuilder() //链接字符串 .UseConnectionString(FreeSql.DataType.MySql,...) { _logger = logger; _freeSql = freeSql; } //页面初始化的时候查询数据 public async Task...) { _logger = logger; _freeSql = freeSql; } // public async Task OnGetAsync()
作者SmartforXiaoYuan 项目简介 QuartzCore.Blazor 是一个基于 .Net5 开发的轻量级 Quartz 作业配置中心,实践应用 Ant Design Blazor 和 FreeSql...使用 FreeSql 作为数据库访问组件,亦可学习交流。 原项目地址:https://github.com/SmartforXiaoYuan/QuartzCore.Blazor。...结尾: 本项目的初衷主要是为了实践 Blazor 和 FreeSql两个技术, 最后出来的成果(本项目)能分享给大家,作者是很开心的,感觉到了满满的成就感。...如果你对 FreeSql 感兴趣,也可以关注下 FreeSql。 如果有人用到qz定时作业,也可以直接用本项目,我也很开心,欢迎大家提issues。
本文将深入探讨C#中几种流行的ORM工具,包括Entity Framework Core(EF Core)、Dapper、SqlSugar、FreeSql等,分析它们的核心特性、使用场景和最佳实践。...示例代码var fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source
领取专属 10元无门槛券
手把手带您无忧上云