随笔分类 - Abp
摘要:模块的概念 模块可以理解成系统中一个独立的功能。例如缓存Redis、队列RabbitMQ、IOC框架Autofac。 模块的作用 使用ABP模块可以解决模块之间的依赖问题,通过模块化设计,每个模块可以独立开发、测试和部署,从而减少代码的耦合度,提高了代码的可维护性和复用性,同时使得应用程序更加容易扩
阅读全文
摘要:事务工作单元=数据库事务+工作单元事务。 Controller [ApiController] [Route("[controller]")] public class BlogController : AbpController { private BlogAppService _blogAppS
阅读全文
摘要:var blog = await _blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto, Blog>(inputDto)); //查询不到数据,返回null var newblog = await _blogRepository.F
阅读全文
摘要:IHasConcurrencyStamp IHasConcurrencyStamp添加了由ABP框架管理的 ConcurrencyStamp 属性实现乐观并发。 实体类继承了 IHasConcurrencyStamp 以后,对该实体的更新就自动带乐观锁了。 ISoftDelete 实现逻辑删除功能,
阅读全文
摘要:聚合根类(AggregateRoot) 聚合一般包括多个实体或者值对象,聚合根可以理解为根实体或者叫主实体。 BasicAggregateRoot AggregateRoot类继承自Entity类,TKey可以是GUID、Int、String类型等。 AggregateRoot 有其他属性来支持乐观
阅读全文
摘要:作用 方便在应用服务层对IQueryable执行异步操作。 代码实现 var queryable = await _ordedrRepository.WithDetailAsync(x=>x.OrderItems); queryable = queryable.WhereIf(inputDto.Gu
阅读全文
摘要:作用 以同步的方式运行异步方法。 代码实现 //无返回值的异步方法 public async Task GetDataNoResult() { await Task.CompletedTask; } //有返回值的异步方法 public async Task<bool> GetDataWithRes
阅读全文
摘要:作用 实现按需加载、减少不必要的开销,提供应用程序性能。 避免服务出现循环引用问题。 应用范围 控制器 public class AController:AbpController { private AService _aService => LazyServiceProvider.LazyGet
阅读全文
摘要:如何实现软删除数据查询过滤 实体类继承ISoftDelete接口后,查询获取到的返回结果将不包含已删除的数据。 如何关闭软删除数据过滤 全局方式关闭软删除数据过滤 EntityFrameworkCoreModule模块类中使用。 [DependsOn(typeof(AbpEntityFramewor
阅读全文
摘要:方式一:为实体配置默认导航并设置includeDetails属性为true [DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))] public class EntityFrameworkCoreModule : AbpModule { publ
阅读全文
摘要:显示/延迟加载 查询的时候不加载导航属性,需要用到的时候再加载导航属性。 注意: 若加载的导航属性是集合,则使用EnsureCollectionLoadedAsync。 若加载的导航属性是对象,则使用EnsurePropertyLoadedAsync。 GetAsync和FindAsync区别:前者
阅读全文
摘要:Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。 例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。 var query = (await _blogRep
阅读全文
摘要:案例场景 新注册用户注册时通过发布自定义领域事件发送邮件通知。 EntityFrameworkCore层 创建Etos文件夹,并在该文件夹下新增ChangeMode、DomainChangedEvent文件。 ChangeMode.cs public enum ChangeMode { Added,
阅读全文
摘要:PreConfigureServices方法重载并添加如下代码 [DependsOn( typeof(AbpAutofacModule), typeof(AbpAspNetCoreMvcModule), )] public class ApiHostModule : AbpModule { publ
阅读全文
摘要:Abp-工作单元应用场景注意事项 事务工作单元=数据库事务+工作单元事务。 Controller [ApiController] [Route("[controller]")] public class BlogController : AbpController { private BlogApp
阅读全文
摘要:1.打开PageNames.cs文件,添加如下代码 public const string Departments = "Departments"; 2.打开PermissionNames文件,添加如下代码 public const string Pages_Departments = "Pages
阅读全文
摘要:1.创建项目 模板地址:https://aspnetboilerplate.com/Templates 2.框架目录结构 3.替换数据库组件 框架默认使用是Sql Server数据库,此次项目实战采用Mysql数据库,因此需要将相关Sql Server组件移除并安装对应的Mysql组件。 1.在Mi
阅读全文

浙公网安备 33010602011771号