首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rafy 框架 - 实体支持只更新部分变更的字段

Rafy 快一两年没有大的更新了。并不是这个框架没人维护了。相反,主要是因为自己的项目、以及公司在使用的项目,都已经比较稳定了,也没有新的功能添加。...但是最近因为外面使用了 Rafy 的几个公司,找到我,提出了一些明确的需求,期望我做一些相应的升级。所以可能最近几个月,会陆续更新 Rafy 框架。...最近升级后,可能截止到明年,会陆续支持 NET5-6 上的一些功能。 今天这篇博客,主要是记录了一个客户提出了多次的需求:实体更新时,只更新改动的字段。...Rafy 框架会管理好领域框架的状态变更。事实上,这几年确实没有升级,而开发者也用得很好,很少有人关注。...但是这次客户提出意见,由于他们的实体类中的属性实在太多了,查看日志中的更新语句时,较难定位具体已经修改的属性。再加之,Rafy 接下来会添加一个只查询部分实体属性的功能。所以就一并完成了。

1.2K10

EF基础知识小记七(拆分实体到多个表以及拆分表到多个实体)

一、拆分实体到多个表 1、在日常开发中,会经常碰到一些老系统,当客户提出一些新的需求,这些需求需要在原来的表的基础上加一些字段,大多数人会选择通过给原表添加字段的方式来完成这些需求,方法,虽然可行,但是如果架构不合理的系统...通过叫做合并两张及以上的表到一个单独的实体,也叫分拆一个实体到多个表,我们把每个组成部分当成一个逻辑实体.这个过程叫做逻辑分拆....缺点:每当获取实体时,框架都需要额外的Join联结. 2、示例 下面通过一个示例简单介绍下逻辑分拆 (1)、数据库表设计图 ?...二、拆分一张表到多个实体 假设数据库中有一张表,里面包含一些常用的字段,但是也包含一些不常用的大字段。...为了提供系统的性能,需要避免每个查询都去加载这些字段.这个时候我们就需要将表拆分成两个或者更多的实体.

1.3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rafy 领域实体框架简介

    按照最新的功能,更新了最新版的《Rafy 领域实体框架的介绍》,内容如下: 本文包含以下章节: 简介 特点 优势 简介 Rafy 领域实体框架是一个轻量级 ORM 框架。...CodeFirst 开发模式 使用 Rafy 领域实体框架,采用 CodeFirst 开发模式,可以使得开发人员在开发过程中只关心领域实体的关系、属性,而不需要关心数据库结构的变化。...其它数据库的支持也在研发中。 详情参见:多数据库支持。 支持部署为单机、直连、分布式等多种应用程序 领域实体框架在设计初就已经考虑到了各种可能会被使用的应用程序类型。...同时,Rafy 针对分布式传输进行了优化,如:基于自定义的托管属性框架,在对实体的数据进行序列化时,只会传输有效数据,而不会传输实体中默认的空数据,也提高了数据传输的效率。...为了保证框架的稳定性及运行质量,我们为框架编写了 700 多个单元测试,以测试框架的各个功能是否运转正常并保证兼容性。

    1.4K70

    Rafy 领域实体框架 - 树型实体功能(自关联表)

    在 Rafy 领域实体框架中,对自关联的实体结构做了特殊的处理,下面对这一功能进行讲解。 场景 在开发数据库应用程序时,往往会遇到自关联表的场景。...而针对这样的场景,许多ORM框架都不做默认的处理,开发者往往每次都要做重复的工作:建立类似结构的表,编写关系处理代码,编写查询代码……而这种场景经常会出现,所以 Rafy 实体框架中,默认就支持了树型实体的一系列功能...功能及使用说明 在 Rafy 中的树型实体功能,只需开发者使用一行代码为指定的实体打开这个功能,框架会自动完成以下工作: 自动添加实体的自引用关系。自动生成数据库自关联表。...自动维护树节点的 TreeIndex 索引。 自带多个查询,用于查询树节点。 查询结果自动转变为树的结构。 支持树节点的按需加载。 下面,将逐一进行讲解。...自带多个查询,用于查询树节点 实体仓库中带有许多查询方法,其中一些是专门为树型实体设计的: GetTreeRoots:查询所有的根节点。 GetByTreePId:查找指定树节点的直接子节点。

    1.6K80

    EF实体中的修改

    不推荐方式一: 思路:先从ObjectContext取出实体,然后将前台传过来的DTO属性对应赋值到我们的实体上,然后调用ObjectContext的保证修改方法。...但是这种方式是最不提倡的,因为这样每次修改前都得先将数据查出来,经过SqlProfiler追踪,这么一个操作要对数据库进行两次的连接。这是不可忍受的!...推荐方式二: 思路:无需先查出实体,因为我们知道EF通过ObjectStateManage来控制添加、修改、删除队列以及实体的状态,我们所有可以通过在直接将DTO转化成实体,然后将实体对应的队列中,并...且我们手动的将实体的状态处理好,再调用ObjectContext的保证修改方法,这样就避免了先查询后修改,两次数据库连接的问题了。...schoolDB.Student.Attach(student); //手动修改实体的状态 schoolDB.ObjectStateManager.ChangeObjectState(student

    1.1K10

    ADO.NET 实体框架概述

    EDM 的各个层以 XML 文件形式存在; 实体数据模型 实体框架的核心位于其模型中。实体框架支持表示数据库中的关系架构的逻辑存储模型。关系数据库通常存储数据的方式与应用程序使用数据的方式不同。...通常,这会迫使开发人员按照数据库包含数据的结构检索数据。因此,开发人员通常将数据加载到更适合处理业务规则的业务实体中。在本示例中,以逻辑模型表示关系数据库的构架,业务实体表示概念模型。...实体框架可将针对概念模型编码的所有命令映射到逻辑模型中。 ? 概念模型是使用概念架构定义语言 (CSDL) 在 XML 文件中定义的。CSDL 定义应用程序的业务层所知道的实体和关系。...逻辑模型(表示数据库架构)是使用存储架构定义语言 (SSDL) 在 XML 文件中定义的。例如,您可能在概念模型中有一个实体,该实体实际上从数据库的多个表中派生其数据。...:http://msdn.microsoft.com/zh-cn/magazine/cc507640.aspx 4、2008年7月份 分层式体系结构中的实体框架:http://msdn.microsoft.com

    1.4K50

    开源实体映射框架EmitMapper介绍

    综述 EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/。       EmitMapper映射效率比较高,接近硬编码。...EmitMapper采用emit方式在运行时动态生成IL,而其他映射框架多是采用反射机制。此外EmitMapper最大限度地减少了拆箱装箱操作和映射过程中的额外的调用。      ...支持的方法 描述 ConvertUsing 为指定的成员提供自定义的转换逻辑 ConvertGeneric 为指定的泛型类型成员提供自定义的转换逻辑 ConstructBy 为目标对象使用指定的构造函数替代默认构造函数...dst.D.D22, src.D.D2); 44 Assert.AreEqual(dst.F, "nothing"); 自定义映射配置器       当然EmitMapper是个非常灵活的框架...比如可以实现从HTTP中通过Post方式提交的Form数据到具体业务实体类的映射,下面通过继承ImappingConfigurator来实现。

    1.3K20

    Rafy 领域实体框架设计 - 重构 ORM 中的 Sql 生成

    前言 Rafy 领域实体框架作为一个使用领域驱动设计作为指导思想的开发框架,必然要处理领域实体到数据库表之间的映射,即包含了 ORM 的功能。...而这些场景如果还让开发人员自己去编写复杂 Sql 语句,不但框架的易用性下降,而且由于写了过多的 Sql 语句,还会让开发人员面向领域实体来开发的思想减弱。...旧代码讲解 最初采用的 Lite ORM 是一个轻量级的 ORM 框架,采用在实体对象上标记特性(Attribute)来声明实体的元数据,并使用链式接口来作为查询接口以方便开发人员使用。...EntityQuery 层中的类型实现了 IQuery 中对应的接口,并使用领域实体的相关 API 来实现从实体到表、实体属性到列的转换。...重构的同时,我们为能想到的场景都编写了测试用例: 目前,框架版本也升级到了 2.23.2155。 有兴趣的同学,了解、下载最新的框架,请参考:《Rafy 领域实体框架发布!》。

    2.1K70

    【数据架构】SOGAF 通用实体框架 (CoE)

    Salesforce 运营、治理和架构框架 (SOGAF) 将 MIT-CISR 企业架构框架应用于 Salesforce 实施和程序。...介绍 为共同实体(即卓越中心)制定一个明确的定义是很棘手的。...转换程序中的通用实体 (CoE) 有多种名称: “卓越中心”、“C4E”、“专业中心”、“专家网络” 术语“设计授权”或“平台授权”也用于通用实体,这会造成一些混淆 不同的描述会导致不同的期望——当没有得到满足时会感到沮丧...此类问题在难以确定是转型、能力还是最佳实践中心的实体中很常见 共同实体也可以扮演任意数量的这些角色,增加了混乱: 毕竟,通用实体 (CoE) 什么都做。...监控 Salesforce 许可证的使用情况并定期更新使用情况。

    1.4K20

    信息安全技术 实体鉴别保障框架

    声明本文是学习信息安全技术 实体鉴别保障框架....下载地址 http://github5.com/view/1676而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们实体鉴别保障框架 前言本文件按照GB/T 1.1-2020《标准化工作导则...实体鉴别保障框架 范围本文件确立了实体鉴别的保障框架,规定了各参与方角色的职责、实体鉴别的主要流程环节以及实体鉴别保障等级的类别和等级划分原则,并规定了实体鉴别保障所需的管理要求。...本文件适用于实体鉴别服务的安全测试和评估,并为其它实体身份鉴别相关标准的制定提供依据和参考。 实体鉴别保障框架 规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。...身份 identity 与实体相关的一组属性。 注:在特定语境中,身份可以拥有一个或多个标识符,使得身份在此语境中可被唯一识别。

    76760

    Rafy 框架 - 大批量导入实体

    某些场景下,开发者希望能够大批量地把实体的数据导入到数据库中。虽然使用实体仓库保存实体列表非常方便,但是其内部实现机制是一条一条的保存到数据库,当实体的个数较多时,效率就会很低。...也就是说,批量导入父实体时,同时也会批量导入父实体下的所有子实体。 批量导入不但支持添加新实体,同时也支持批量更新、批量删除。使用方法与使用仓库保持一致。...批量更新数据,是使用 System.Data.SqlClient.SqlDataAdapter 来实现的。....); Oracle 对于 Oracle 数据库的批量保存: 新增数据、更新数据都是使用 ODP.NET 中原生的批量导入功能。...新增大量实体时,实体的 Id 生成 一般情况下,使用仓库保存一个新增的实体时,仓库会使用数据库本身的机制来为实体生成 Id,在 SQLServer 中是使用 IDENTITY 列,在 ORACLE 中则是使用每个表对应的

    1.3K80

    JPA实体类中的注解

    updateable:表示在ORM框架执行更新操作时,该字段是否应该出现在UPDATE语句中,默认为true。对于一经创建就不可以更改的字段,该属性非常有用,如对于birthday字段。 ...通常ORM框架可以根据属性类型自动判断数据库中字段的类型,但是对于Date类型仍无法确定数据库中字段类型究竟是DATE,TIME还是TIMESTAMP。...fetch:表示抓取策略,默认为FetchType.LAZY,因为关联的多个对象通常不必从数据库预先读取到内存  可选  cascade:表示级联操作策略,对于OneToMany类型的关联非常重要,通常该实体更新或删除时...,其关联的实体也应当被更新或删除  例如:实体User和Order是OneToMany的关系,则实体User被删除时,其关联的实体Order也应该被全部删除 @ManyToMany 描述一个多对多的关联....多对多关联上是两个一对多关联,但是在ManyToMany描述中,中间表是由ORM框架自动处理  可选  targetEntity:表示多对多关联的另一个实体类的全名,例如:package.Book.class

    3.9K70

    选择块参照中嵌套的实体

    在利用ObjectARX进行CAD二次开发时,如何选择块参照中嵌套的实体,并进行进行下一步操作?这个问题的难点是:如何判断用户选中的实体到底是块参照里面的非嵌套对象实体?...还是块参照中嵌套的块参照的实体?本文利用全局函数acedNEnsSelP解决了这个问题,并可实现:如果用户选择块参照中嵌套的实体,直接视为用户选择了这个嵌套的块参照,效果如图。...一、全局函数acedNEntSelP介绍 为了选中块参照中的实体,ObjectARX提供了一个接口: int acedNEntSelP( const ACHAR * str, ads_name...ptres, int pickflag, ads_matrix xformres, struct resbuf ** refstkres ); const ACHAR * str:在选择块参照中实体时的提示语...ads_matrix xformres:该4×4变换矩阵可以将实体的任意ECS坐标转换为WCS坐标。如果选择的实体不是嵌套实体,该值设为单位矩阵。

    26431

    Linq2Sql数据实体外部更新时“不能添加其键已在使用中的实体”的解决办法

    Linq to Sql中,如果我们想在DataContext外部修改一个实体的值,然后把引用传入到DataContext中,再利用Attach附加后更新,代码如下: public static void...    {         db.myData.Attach(_pDate, db.myData.Single(c => c.ID == _pDate.ID));//将会出异常:“不能添加其键已在使用中的实体...myData _pDate = new myData() { ID = 1, IP = "127.0.0.1" }; UpdateMyTable(_pData); 运行时,会抛出异常:不能添加其键已在使用中的实体...原因我就不分析了,个人理解大致意思就是外部的对象跟DataContext上下文没关联,而Attach又不成功,所以当然也就更新不了....这种方法当然是可行的,但是有点笨,这种不应该由人来干的傻活儿最好由电脑来完成(见下面的方法) 2.利用反射自动复制属性 先写一个方法,利用反射获取属性信息实现自动copy属性值 public static

    1.9K50

    Rafy 领域实体框架 - 公司内部培训视频

    本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架。所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看。...现在把视频放到园里来分享下,有兴趣的朋友可以看看,有什么问题可以进 Rafy QQ 群询问。 关于 Rafy 开源框架的详细介绍:《Rafy 领域实体框架 2.22.2067 发布!》。...如何下载并使用框架:《使用 NuGet 下载最新的 Rafy 框架及文档》。...本次培训一共有 7 个视频: 1.老系统架构讲解、新系统架构思想简介 2.新架构、开发流程介绍 3.DBI 系统开发讲解 4.Rafy 框架使用讲解1-安装、试用、实体、属性、关系...等 5.中场休息的问题(性能、库升级) 6.Rafy 框架使用讲解2-查询、优化(N+1、贪婪加载、冗余属性 等) 7.Rafy 框架使用讲解3-服务、总结 不过前三个涉及公司内部一些业务

    92970

    Hibernate框架学习之注解映射实体类

    前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。...然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了基本的映射实体类的基本注解,此处做一点总结,后续文章将陆续更新使用注解的方式管理配置各种映射关联关系。...其中, @Entity:指定当前被修饰的类是一个实体类,用于映射到数据库中的表。...联合主键的映射可以通过多个@Id进行修饰即可,但要求该实体类必须继承 java.io.Serializable并尽可能的重写Object的两个方法,hashCode和equals,因为多个属性唯一确定一条记录...Hibernate选择将集合中的复合类型拆分成多个字段,其他的和普通的集合属性映射并没有太大变化。 ?

    3.2K90
    领券