Rafy 框架 - 使用 SqlTree 查询】的更多相关文章

本文介绍如何使用 Rafy 框架中的 Sql Tree 查询: 除了开发者常用的 Linq 查询,Rafy 框架还提供了 Sql 语法树的方式来进行查询. 这种查询方式下,开发者不需要直接编写真正的 Sql 语句,而是转而使用一套中间 Sql 语法树对象.这隔离了与具体数据库的耦合,使得开发者编写的查询可以跨越多种不同的数据库运行,甚至可以在非关系型数据库中运行.同时,框架还结合托管属性,提供了方便开发者使用的 API,并尽量保持与传统 Sql 相近的语法,使得开发者可以快速理解并编写. 本文包…
在应用开发过程中,有 80% 的场景下,开发者所需要的实体查询,查询条件中其实都是一些简单的属性匹配,又或是一些属性匹配的简单组合.Rafy 为这样的场景提供了更为方便使用的 API:CommonQueryCriteria. 属性匹配 在查询时,当需要使用一个或几个属性的限定匹配来进行查询时,我们可以通过 CommonQueryCriteria 来使用以下方法进行快速查询.例如,以下查询实现了通过用户的编码的精确匹配来查询唯一指定的用户: C# public User GetByCode(str…
  Rafy 框架又添新成员:幽灵插件.本文将解释该插件的场景.使用方法.原理.   场景 在开发各类数据库应用系统时,往往需要在删除数据时不是真正地删除数据,而只是把数据标识为'已删除'状态.这些数据在业务逻辑上是已经完全删除.不可用的数据,但是不能在数据库中真正的把它们删除,而是需要永久保留这些历史数据.即开发人员常说的'假删除'功能. 这种需求往往是系统级的.往往不是针对某一张表,而很可能是针对系统中的所有表都需要实现'假删除'功能.   使用方法 由于这种需求比较常见,所以我们决定专门为…
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了.由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强. 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法.   使用 Linq 查询的代码示例 public WarehouseList G…
当我们开始使用EF的同时,是不是就会更好的认识了其他的ORM框架,最近接触了Rafy的使用,感觉还是蛮有兴趣去学习的,虽然最初的我到现在看的并不深入,但是我个人感觉还是可以简单地做一些总结的啦,或许语言不多,但是更多的想总结下它的使用,之前没接触的友友也可以简单地认识一下啦,嘿嘿. 要是想使用Rafy框架,其实很简单的,只需要打开VS然后在工具栏中选择扩展和更新然后搜索Rafy.SDK安装即可. Rafy框架的简单使用 说起来使用,其实还是很简单的入门的,当我们建立完我们的解决方案后我们就新建一…
本文将解释 Rafy 框架中的时间戳插件的场景.使用方法.原理. 场景 在开发各类数据库应用系统时,业务领域实体往往需要包含"创建时间"."最后更新时间"."创建人"."最后更新人"等跟踪戳属性.这些属性是领域实体的基本属性,几乎所有的领域业务操作都会使用到这些属性,如:创建业务数据肯定会保存创建时间.创建人:更新业务数据需要记录最后更新时间:查询业务数据需要显示创建人等. 时间戳插件可以自动在数据层维护这些属性,使开发人员专…
l  什么是Rafy框架? -------- Rafy 是一个面向企业级开发的插件化快速开发框架. l  Rafy的优点是什么? ------快速开发.产品线工程.一套代码可同时生成并运行 C/S.单机版.B/S 三种应用程序. l  Rafy框架怎么用? Rafy User Guide : http://zgynhqf.github.io/Rafy --网页版的Rafy手册 上面这一套是我的学习思路. Rafy笔记 下面我把自己的学习笔记贴一下. 1.         n+1 问题的原因是懒加…
Rafy 快一两年没有大的更新了.并不是这个框架没人维护了.相反,主要是因为自己的项目.以及公司在使用的项目,都已经比较稳定了,也没有新的功能添加.但是最近因为外面使用了 Rafy 的几个公司,找到我,提出了一些明确的需求,期望我做一些相应的升级.所以可能最近几个月,会陆续更新 Rafy 框架. 目前,Rafy 已经支持了 NetStandard 2.0.最近升级后,可能截止到明年,会陆续支持 NET5-6 上的一些功能. 今天这篇博客,主要是记录了一个客户提出了多次的需求:实体更新时,只更新改…
本文简要说明如何使用 Rafy 框架中的领域控制器. 简介 领域控制器是 Rafy 框架中用于封装领域逻辑的主要方式. 在控制器中,开发者可以封装大量的业务逻辑,并向外暴露业务接口.内部的逻辑在实现时,往往调用一个或多个实体仓库的 CDUQ 方法来实现. 示例 以下代码为 Rafy.Accounts 帐户插件 中 AccountController 类型的真实代码. /// <summary> /// 帐户插件的领域控制器. /// </summary> public class…
为了让开发者更方便地使用 Rafy 领域实体框架,本月,我们已经把最新版本的 Rafy 框架程序集发布到了 nuget.org 上,同时,还把 RafySDK 的最新版本发布到了 VisualStudio 插件仓库中. 以下说明如何下载.更新最新的 SDK 及程序集. 下载.更新最新的 RafySDK 在 VisualStudio 中打开扩展管理器(Tools -> Extensions and Updates),选择在线项目,并搜索 “Rafy” 安装即可.如下图: 同样,只需要在扩展管理器中…