Loading

摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql.Repository 作为 FreeSql.d 阅读全文
posted @ 2020-12-11 12:04 FreeSql 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql 快速入门》系列文档,完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql是功能强大的 .NET ORM,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等 阅读全文
posted @ 2019-09-17 06:08 FreeSql 阅读(46728) 评论(19) 推荐(26) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki Repository + UnitOfWork 是所有数据库访 阅读全文
posted @ 2020-12-11 12:15 FreeSql 阅读(382) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql 支持分表、分库方案,使用仓储提供 AsTabl 阅读全文
posted @ 2020-12-11 12:14 FreeSql 阅读(299) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 我们使用仓储都是用传入泛型处理的,如果不知道实体类型怎么使用? 阅读全文
posted @ 2020-12-11 12:13 FreeSql 阅读(437) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 前面说到,仓储模式推荐使用导航属性,联表查询、子表查询、级联加 阅读全文
posted @ 2020-12-11 12:12 FreeSql 阅读(316) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 前面说到,仓储模式推荐使用导航属性,联表查询、子表查询都已得到 阅读全文
posted @ 2020-12-11 12:11 FreeSql 阅读(225) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 上文说到,仓储模式推荐使用导航属性,本文将讲解配置导航属性之后 阅读全文
posted @ 2020-12-11 12:10 FreeSql 阅读(468) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 仓储模式推荐使用导航属性,配置好导航属性的仓储对象功能更加强大 阅读全文
posted @ 2020-12-11 12:09 FreeSql 阅读(356) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 相信很多做过 ORM 的同学都有一个难题,关于更新数据的问题, 阅读全文
posted @ 2020-12-11 12:08 FreeSql 阅读(397) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki UnitOfWork 可将多个仓储放在一个单元管理执行,最终通 阅读全文
posted @ 2020-12-11 12:07 FreeSql 阅读(672) 评论(0) 推荐(1) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki 提示:FreeSql 可以自动识别 EFCore 实体特性 K 阅读全文
posted @ 2020-12-11 12:05 FreeSql 阅读(541) 评论(0) 推荐(1) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,本系列文档专注介绍 【仓储+工作单元】 的使用方式。完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql.Repository 作为 FreeSql.d 阅读全文
posted @ 2020-12-11 12:04 FreeSql 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:欢迎来到《FreeSql.Repository 仓储模式》系列文档,完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql是功能强大的 .NET ORM,支持 .NetFramework 4.0+、.NetCore 2.1 阅读全文
posted @ 2020-12-11 12:03 FreeSql 阅读(2282) 评论(8) 推荐(7) 编辑
摘要:前言 华为GaussDB是一个企业级AI-Native分布式数据库。GaussDB采用MPP(Massive Parallel Processing)架构,支持行存储与列存储,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力。可以为超大规模数据管理提供高性价比的通用计算平台,也可用 阅读全文
posted @ 2020-11-08 15:23 FreeSql 阅读(425) 评论(0) 推荐(5) 编辑
摘要:前言 天津神舟通用数据技术有限公司(简称“神舟通用公司”),隶属于中国航天科技集团(CASC)。是国内从事数据库、大数据解决方案和数据挖掘分析产品研发的专业公司。公司获得了国家核高基科技重大专项重点支持,是核高基专项的牵头承担单位。自1993年在航天科技集团开展数据库研发以来,神通数据库已历经27年 阅读全文
posted @ 2020-06-28 08:39 FreeSql 阅读(970) 评论(3) 推荐(5) 编辑
摘要:关于无限级分类 第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。 这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。 分析:通 阅读全文
posted @ 2020-06-28 06:41 FreeSql 阅读(2113) 评论(19) 推荐(36) 编辑
摘要:前言 京人大金仓信息技术股份有限公司(以下简称“人大金仓”)是具有自主知识产权的国产数据管理软件与服务提供商。人大金仓由中国人民大学一批最早在国内开展数据库教学、科研、开发的专家于1999年发起创立,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型通用数据库产品。201 阅读全文
posted @ 2020-05-28 18:21 FreeSql 阅读(824) 评论(2) 推荐(3) 编辑
摘要:1、创建项目 我们以 console 类型项目试验 插入、删除、更新、查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSql.Provider.MySql dotnet add package FreeSql.Reposi 阅读全文
posted @ 2020-04-22 20:58 FreeSql 阅读(1042) 评论(0) 推荐(1) 编辑
摘要:1、创建项目 我们以 console 类型项目试验 插入、删除、更新、查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSql.Provider.Sqlite dotnet add package FreeSql.Repos 阅读全文
posted @ 2020-04-18 00:44 FreeSql 阅读(1277) 评论(5) 推荐(6) 编辑
摘要:FreeSql 以 MIT 开源协议托管于 github: "https://github.com/2881099/FreeSql" IFreeSql 作为 ORM 顶级对象,没有设置 NameSpace(命名空间),作者的用意是不想使用者在 .cs 文件顶部,多出一堆不必要的 using Free 阅读全文
posted @ 2020-03-13 21:05 FreeSql 阅读(714) 评论(1) 推荐(2) 编辑
摘要:第一步:定义注入类型 第二步:注入 CurdAfterLog 第三步:添加 CurdAfter 事件 便于管理 fsql.Aop.CurdAfter 应该和 new FreeSqlBuilder()..Build() 代码放在一起,并且该事件只绑定一次 第四步:在 Controller 中测试 阅读全文
posted @ 2020-03-09 10:23 FreeSql 阅读(771) 评论(0) 推荐(3) 编辑
摘要:FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。 以 MIT 开源协议托管于 github: "https://github.com/2881099/Fre 阅读全文
posted @ 2020-03-08 13:20 FreeSql 阅读(676) 评论(0) 推荐(1) 编辑
摘要:前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务。多年来,达梦公司始终坚持原始创新、独立研发,目前已掌握数据管理与数据分析领域的核心前沿 阅读全文
posted @ 2019-12-13 15:13 FreeSql 阅读(1386) 评论(6) 推荐(5) 编辑
摘要:方法一 方法二 全局转换实体属性名方法,这种只能转属性。 其实是通过Aop方法完成的功能,Aop可以对属性名和类名进行全局拦截处理大小写。 现在添加了6种转换类型 注意:如果属性设置 [Column] 特性且设置了Name,那么该转换方法将不会覆盖这个值 阅读全文
posted @ 2019-09-22 22:03 FreeSql 阅读(692) 评论(1) 推荐(2) 编辑
摘要:比如项目内已经使用了其它 orm,如 efcore,这样意味着实体中可能存在 [Key],但它与 FreeSql [Column(IsPrimary = true] 不同。 Q: FreeSql 实体特性为啥这么别扭? A: 为了考虑一致性用法,全部封装在 ColumnAttribute 下,这样用 阅读全文
posted @ 2019-09-17 09:16 FreeSql 阅读(1857) 评论(3) 推荐(2) 编辑
摘要:FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能。 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也是缺点,优点是充分利用数据库特性辅助开发,缺点是切换数据库变得困难。不同程序员的理念可能不太一致,F 阅读全文
posted @ 2019-09-17 09:12 FreeSql 阅读(2246) 评论(23) 推荐(3) 编辑
摘要:前面有介绍过几篇 CodeFirst 内容文章,有 《(二)自动迁移实体》(https://www.cnblogs.com/FreeSql/p/11531301.html) 《(三)实体特性》(https://www.cnblogs.com/FreeSql/p/11531302.html) 《(四) 阅读全文
posted @ 2019-09-17 09:10 FreeSql 阅读(3355) 评论(1) 推荐(1) 编辑
摘要:FreeSql AOP 已有的功能介绍,未来为会根据用户需求不断增强。 审计 CRUD 马云说过,996是修福报。对于多数程序员来说,加班是好事。。。起码不是闲人,不会下岗。 当如果因为某个 sql 骚操作耗时很高,没有一个相关的审计功能,排查起来可以说无从下手,福报与你紧紧相随(哈哈)。 Free 阅读全文
posted @ 2019-09-17 08:56 FreeSql 阅读(3047) 评论(6) 推荐(2) 编辑
摘要:理论知识 分表 - 从表面意思上看呢,就是把一张表分成N多个小表,每一个小表都是完正的一张表。分表后数据都是存放在分表里,总表只是一个外壳,存取数据发生在一个一个的分表里面。分表后单表的并发能力提高了,磁盘I/O性能也提高了。并发能力为什么提高了呢,因为查寻一次所花的时间变短了,如果出现高并发的话, 阅读全文
posted @ 2019-09-17 08:38 FreeSql 阅读(3782) 评论(1) 推荐(2) 编辑
摘要:FreeSql 支持数据库读写分离,本功能是客户端的读写分离行为,数据库服务器该怎么配置仍然那样配置,不受本功能影响,为了方便描术后面讲到的【读写分离】都是指客户端的功能支持。 各种数据库的读写方案不一,数据库端开启读写分离功能后,读写分离的实现大致分为以下几种: 1、nginx代理,配置繁琐且容易 阅读全文
posted @ 2019-09-17 08:35 FreeSql 阅读(2742) 评论(3) 推荐(3) 编辑
摘要:In查询 var t1 = fsql.Select<T>() .Where(a => new[] { 1, 2, 3 }.Contains(a.Id)) .ToList(); //SELECT .. FROM .. //WHERE (a.`Id` in (1,2,3)) 已优化,防止 where i 阅读全文
posted @ 2019-09-17 08:32 FreeSql 阅读(3097) 评论(1) 推荐(2) 编辑
摘要:1、外部事务 在外部开启事务的场景,可使用 WithTransaction 传入事务对象。 await fsql.Update<xxx>() .WithTransaction(指定事务) .Set(a => a.Clicks + 1) .ExecuteAffrowsAsync(); ISelect、 阅读全文
posted @ 2019-09-17 08:30 FreeSql 阅读(4707) 评论(1) 推荐(2) 编辑
摘要:有时候,我们希望将写好的 sql 语句,甚至是存储过程进行查询,虽然效率不高(有时候并不是效率至上)。 巧用AsTable var sql = fsql.Select<User>() .AsTable((a, b) => "(select * from user where clicks > 10) 阅读全文
posted @ 2019-09-17 08:28 FreeSql 阅读(3972) 评论(1) 推荐(1) 编辑
摘要:1、导航属性 ManyToOne ManyToOne 导航属性通过 ToList(includeNestedMembers: false) 加载,参数说明: false: 返回 2级 Join 的导航数据(默认); true: 返回所有层级深度 Join 的导航数据(未使用的导航数据不会返回); S 阅读全文
posted @ 2019-09-17 08:23 FreeSql 阅读(2954) 评论(3) 推荐(2) 编辑
摘要:FreeSql 支持导航属性延时加载,即当我们需要用到的时候才进行加载(读取),支持1对1、多对1、1对多、多对多关系的导航属性。 当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们希望使用延迟加载来实现,这样不仅加快的了 读取的效率,同时也避免加载不需要的数据。延迟加载通常用于f 阅读全文
posted @ 2019-09-17 08:16 FreeSql 阅读(1740) 评论(1) 推荐(2) 编辑
摘要:原本不支持 IQueryable 主要出于使用习惯的考虑,编写代码的智能总会提示出现一堆你不想使用的方法(对不起,我有强迫症),IQueryable 自身提供了一堆没法实现的方法,还有外部入侵的扩展方法,严重影响编码体验。如下图: v1.4.0+ 版本请使用以下命令安装(老版本不需要安装): dot 阅读全文
posted @ 2019-09-17 08:15 FreeSql 阅读(3036) 评论(9) 推荐(2) 编辑
摘要:static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Passwor 阅读全文
posted @ 2019-09-17 08:13 FreeSql 阅读(3175) 评论(8) 推荐(2) 编辑
摘要:适合喜欢使用 dto 的朋友,很多时候 entity 与 dto 属性名相同,属性数据又不完全一致。 有的人先查回所有字段数据,再使用 AutoMapper 映射。 我们的功能是先映射,再只查询映射好的字段,节省了io性能。 Select<Tag>().Limit(10).ToList(a => n 阅读全文
posted @ 2019-09-17 08:10 FreeSql 阅读(3973) 评论(4) 推荐(1) 编辑
摘要:FreeSql 采用 ExpressionTree 优化读取速读,如果懂技术的你一定知道 .NETCore 技术下除了原生代码,最快就是 Emit 和 ExpressionTree。项目在初期使用的反射+缓存,虽然 .NETCore 优化了反射性能,但经过与Dapper性能测试对比之后,发现仍然有一 阅读全文
posted @ 2019-09-17 08:05 FreeSql 阅读(4528) 评论(1) 推荐(1) 编辑
摘要:WhereCascade 多表查询时非常方便,有了它可以很轻松的完成类型软删除,租户条件的功能。 static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Dat 阅读全文
posted @ 2019-09-17 08:04 FreeSql 阅读(2585) 评论(1) 推荐(1) 编辑
摘要:多表查询,常用的有联表 LeftJoin/InnerJoin/RightJoin ,这三个方法在上篇文章已经介绍过。 除了联表,还有子查询 Where Exists,和 Select 子表: static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .U 阅读全文
posted @ 2019-09-17 07:56 FreeSql 阅读(5794) 评论(3) 推荐(1) 编辑