HD.EFCore.Extensions
efcore扩展(UnitOfWork,EntityCache,DbContextPool增强)
解决如下3个问题:
1.官方的services.AddDbContextPool方法不能注入两个DbContext实例(调用两次),对应场景是DB主从分离的开发模式。现通过自定义方法services.AddDbContextPoolEnhance解决它。
2.UnitOfWork机制实现(不使用IRepositoty方式,依然保留ef默认的开发模式),支持无限嵌套调用,仍保证在一个事务中。
3.EntityCache模式的实现:当你通过一个主键值或一个主键值的集合去读取实体(或viewmodel)的时候,你将不用关系数据来自于缓存还是db,因为当缓存没有的时候会自动从db加载(可选的map to viewmodel),而当db.SaveChanges(
2021-10-19 22:31:44
38KB
C#
1