v5.0.4
此更新包含 68 commits ,此大版本关闭了 14 issues
🔨 Features
- (sdk): 将sdk升级到 .net5.04,.netcoreapp3.1.13
- (util): IVerifyCodeService.SetCode 验证码添加过期时间支持 #209
- (util): 添加object.Validate扩展方法,验证对象的属性的ValidationAttribute特性
- (util): 新增汉字转拼音转换类 OSharp.Data.PinyinConverter
- (core): 建立一个程序集管理缓存,便于快速查找需要的类型 #135
- (efcore): 修复
IUpdateAudited
不更新LastUpdatedTime
的问题 - (efcore): DbContextOptionsBuilder 数据库驱动差异处理器支持自定义配置注入 #211
- (efcore): 定义新接口IEntityBatchConfiguration,用于接管实体注册时的批量配置 #212
- (efcore): 基于 #212 的改进,对实体时间属性UTC持久化功能进行重构 #159
- (efcore): 生成数据库时将属性[DisplayName]特性的值添加到表字段的描述信息中 #213 #212
- (efcore): 添加数据上下文配置节点的正确性检测与报错
- (efcore): 添加主从分离配置选项,添加数据库配置信息验证
- (efcore): Function添加IsSlaveDatabase开关属性,用于从Function配置只读业务是否走从数据库 #217
- (efcore): 添加随机、顺序、滑动权重三个从数据库选择策略,默认为平滑加权策略 #217
- (efcore): 更新数据上下文节点,添加从数据库节点配置示例,主从分离功能实现完毕 #217
- (auth): DependOnFunction函数中的参数Controller值可去掉后缀Controller方便使用nameof #149
- (auth): 用户登录之后,使用FunctionAuthCacheRefreshEvent事件刷新用户功能权限
- (auth): 优化AuthController.GetAuthInfo方法的实现 #227
- (admin): 添加LoginLog业务实现
- (build): 添加nuget发布脚本
⚡️ Breaked Changes
- (eventbus): 去除EventBus中事件发布的wait参数,需要非阻塞时应该在handler中处理 #208
- (efcore): IUnitOfWork增加查看是否启用事务的属性IsEnabledTransaction
- (efcore): 简化UnitOfWork的设计,整合UnitOfWorkManager #215
- (auth): 将角色功能权限、用户功能权限的缓存有效期由无限期改为7±1天
- (efcore): 调整IServiceCollection.AddOsharpDbContext()的执行位置 #225
🐛 Bugs
- (auth): 修复IFunctionHandler未启用时获取当前正在执行功能GetExecuteFunction无法继续执行的问题
- (efcore): 修复KeyValue默认的实体配置缺失的问题
- (auth): 修复当功能的角色数为0时不创建“功能-角色”缓存的问题
- (mvc): 修复查找 MvcFunction 时基类中的Action无法被找到的问题
- (mvc): 修复Controller-Action提取Function不完全的问题