HD.EFCore.Extensions:efcore扩展(UnitOfWork,EntityCache,DbContextPool增强)

时间:2024-06-03 03:20:23
【文件属性】:

文件名称:HD.EFCore.Extensions:efcore扩展(UnitOfWork,EntityCache,DbContextPool增强)

文件大小:38KB

文件格式:ZIP

更新时间:2024-06-03 03:20:23

C#

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(


【文件预览】:
HD.EFCore.Extensions-master
----.gitignore(4KB)
----README.md(2KB)
----HD.EFCore.Extensions()
--------IQueryableExtension.cs(541B)
--------Internal()
--------HD.EFCore.Extensions.csproj(432B)
--------DbContextPoolEnhance.cs(5KB)
--------DbContextPoolEnhanceServiceCollectionExtensions.cs(17KB)
--------PrimaryKeyEx()
--------Uow()
--------EFChangeTrackerExtensions.cs(3KB)
--------Cache()
----HD.EFCore.Extensions.sln(2KB)
----.gitattributes(2KB)
----HD.EFCore.Extensions.Test()
--------Program.cs(996B)
--------CacheItem()
--------RedisClient.cs(3KB)
--------Data()
--------TestService.cs(3KB)
--------HostedService.cs(1007B)
--------JsonSerialization.cs(4KB)
--------Startup.cs(4KB)
--------HD.EFCore.Extensions.Test.csproj(612B)

网友评论