他的回复:
华为云帐号:zhongjin,昵称:仲劲Day4 -- 泛型仓储最佳实践1、架构简介架构设计角度:业务设计、物理部署、开发架构架构是有关软件整体结构与组件的抽象描述,用于指导软件设计。构架即软件系统的顶层设计结构。架构规则:构架是顶层设计,框架是半成品,组件是复用,模块是业务职责划分,系统是协调且可运行的实体,系统由子系统组成,子系统由模块组成,模块由组件组合而成。2、仓储模式最佳实践仓储模式优势:代码清晰、易重用、易维护、松耦合一般仓储模式每个实体需创建:一个Repository接口、一个Repository类,但会带来问题。可用依赖注入、泛型仓储,需创建两个文件:IRepository接口、一个RepositoryBase类(实现仓储通用功能)接口声明:Interface IRepository where TEntity : class仓储基类定义:class RepositoryBase: IRepository where TEntity : class推荐异步方法:同步易I/O阻塞,异步可由窗口协调线程池。异步方法须有关键字:async、Task、awaitIRepository、RepositoryBase 需在 ConfigureService() 方法中注册:Services.AddTransient(typeof(IRepository,>), typeof(RepositoryBase,>));3、复杂数据类型及自动注入复杂数据类型:通过对实例类属性添加属性说明来说明实体类之间的关系、数据验证等自动注入组件:Microsoft.DependencyInjection(推荐)、NetCore.AutoRegisterDi、Autofac4、处理并发冲突并发:多个进程访问或更新同一数据。处理并发:悲观锁(EF Core不支持)、乐观锁具体做法:实体中加入时间戳属性5、EF Core 中继承与原生SQL语句使用继承:实体间继承,三种实现:TPH、TPC、TPT使用原生SQL语句:查询用 DbSet.FromSql(),非查询用Database.ExecuteSqlComma()