2025/12/28 15:08:08
网站建设
项目流程
中山网站建设多少钱,网站上的弹框如何做网页,中国移动app,怎么制作网站教程持久层技术详解 1. 仓库的基本概念与结构 在开发中,仓库的整体结构主要可分为查询和更新两大部分。在 CQRS 解决方案里,可能会有两套不同的仓库(查询部分或许根本不需要仓库);而在其他情况下,同一个类会同时包含查询和更新方法。通常,系统中的每个聚合或相关实体都会对…持久层技术详解1. 仓库的基本概念与结构在开发中,仓库的整体结构主要可分为查询和更新两大部分。在 CQRS 解决方案里,可能会有两套不同的仓库(查询部分或许根本不需要仓库);而在其他情况下,同一个类会同时包含查询和更新方法。通常,系统中的每个聚合或相关实体都会对应一个仓库类。仓库的查询方面围绕聚合类型构建,可能会返回一个完整的对象图。以订单类型为例,实现FindById方法时,可能会检索并返回订单的所有信息,包括客户和产品的详细信息。这种方式虽然可能返回大量数据,但也为上层提供了丰富的信息。2. 查询方法的原型设计选项多查询方法方案:可以设计多个查询方法来应对不同场景,例如返回相同数据的不同投影(属性更少、计算属性更少或两者皆有),或者返回不完整的对象图。不过,这种方式会使仓库类变得臃肿,特别是对于某些聚合。单一谓词方法方案:为了减少方法数量,可以设计一个单一方法,该方法接受一个谓词来指定查询条件,示例代码如下:IEnumerableTAggregate FindBy(ExpressionFuncTAggregate, bool predicate);但构建仓库查询侧的主要问题不在于获取查询条件,而在于返回的数据。除非为每个场景设计单独的方法,否则最好的做法是返回IEnumerableTA