摘要: 事务工作单元=数据库事务+工作单元事务。 Controller [ApiController] [Route("[controller]")] public class BlogController : AbpController { private BlogAppService _blogAppS 阅读全文
posted @ 2024-11-19 18:07 相遇就是有缘 阅读(259) 评论(0) 推荐(0)
摘要: var blog = await _blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto, Blog>(inputDto)); //查询不到数据,返回null var newblog = await _blogRepository.F 阅读全文
posted @ 2024-11-19 18:05 相遇就是有缘 阅读(91) 评论(0) 推荐(0)
摘要: IHasConcurrencyStamp IHasConcurrencyStamp添加了由ABP框架管理的 ConcurrencyStamp 属性实现乐观并发。 实体类继承了 IHasConcurrencyStamp 以后,对该实体的更新就自动带乐观锁了。 ISoftDelete 实现逻辑删除功能, 阅读全文
posted @ 2024-11-19 18:03 相遇就是有缘 阅读(121) 评论(0) 推荐(0)
摘要: 聚合根类(AggregateRoot) 聚合一般包括多个实体或者值对象,聚合根可以理解为根实体或者叫主实体。 BasicAggregateRoot AggregateRoot类继承自Entity类,TKey可以是GUID、Int、String类型等。 AggregateRoot 有其他属性来支持乐观 阅读全文
posted @ 2024-11-19 17:58 相遇就是有缘 阅读(176) 评论(0) 推荐(0)
摘要: 作用 方便在应用服务层对IQueryable执行异步操作。 代码实现 var queryable = await _ordedrRepository.WithDetailAsync(x=>x.OrderItems); queryable = queryable.WhereIf(inputDto.Gu 阅读全文
posted @ 2024-11-19 17:54 相遇就是有缘 阅读(121) 评论(0) 推荐(0)
摘要: 作用 以同步的方式运行异步方法。 代码实现 //无返回值的异步方法 public async Task GetDataNoResult() { await Task.CompletedTask; } //有返回值的异步方法 public async Task<bool> GetDataWithRes 阅读全文
posted @ 2024-11-19 17:53 相遇就是有缘 阅读(87) 评论(0) 推荐(0)
摘要: 作用 实现按需加载、减少不必要的开销,提供应用程序性能。 避免服务出现循环引用问题。 应用范围 控制器 public class AController:AbpController { private AService _aService => LazyServiceProvider.LazyGet 阅读全文
posted @ 2024-11-19 17:51 相遇就是有缘 阅读(286) 评论(0) 推荐(0)
摘要: 如何实现软删除数据查询过滤 实体类继承ISoftDelete接口后,查询获取到的返回结果将不包含已删除的数据。 如何关闭软删除数据过滤 全局方式关闭软删除数据过滤 EntityFrameworkCoreModule模块类中使用。 [DependsOn(typeof(AbpEntityFramewor 阅读全文
posted @ 2024-11-19 17:50 相遇就是有缘 阅读(128) 评论(0) 推荐(0)
摘要: 方式一:为实体配置默认导航并设置includeDetails属性为true [DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))] public class EntityFrameworkCoreModule : AbpModule { publ 阅读全文
posted @ 2024-11-19 17:48 相遇就是有缘 阅读(157) 评论(0) 推荐(0)
摘要: 显示/延迟加载 查询的时候不加载导航属性,需要用到的时候再加载导航属性。 注意: 若加载的导航属性是集合,则使用EnsureCollectionLoadedAsync。 若加载的导航属性是对象,则使用EnsurePropertyLoadedAsync。 GetAsync和FindAsync区别:前者 阅读全文
posted @ 2024-11-19 17:46 相遇就是有缘 阅读(66) 评论(0) 推荐(0)
摘要: Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。 例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。 var query = (await _blogRep 阅读全文
posted @ 2024-11-19 17:43 相遇就是有缘 阅读(119) 评论(0) 推荐(0)
摘要: 案例场景 新注册用户注册时通过发布自定义领域事件发送邮件通知。 EntityFrameworkCore层 创建Etos文件夹,并在该文件夹下新增ChangeMode、DomainChangedEvent文件。 ChangeMode.cs public enum ChangeMode { Added, 阅读全文
posted @ 2024-11-19 17:40 相遇就是有缘 阅读(113) 评论(0) 推荐(0)
摘要: PreConfigureServices方法重载并添加如下代码 [DependsOn( typeof(AbpAutofacModule), typeof(AbpAspNetCoreMvcModule), )] public class ApiHostModule : AbpModule { publ 阅读全文
posted @ 2024-11-19 17:38 相遇就是有缘 阅读(141) 评论(0) 推荐(0)
摘要: 演示数据库:Mysql 创建表 内连接 放在On后面 SELECT * FROM tb_singer t1 INNER JOIN tb_song t2 ON t1.id=t2.singer_id and t2.`name`='夜曲' WHERE t1.`name`='周杰伦'; 放在Where后面 阅读全文
posted @ 2024-11-19 11:00 相遇就是有缘 阅读(84) 评论(0) 推荐(0)