OSharp是一个基于.Net6.0的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
此更新包含 109 commits ,此大版本关闭了 2 issues
wip: (di) 更新IServiceProvider.BeginUnitOfWorkTransaction扩展方法,支持返回值 wip: (di) 将部分IServiceProvider.GetService更改为更严谨的IServiceProvider.GetRequiredService wip: (identity) 登录失败也提交事务 wip: (auth) 统一 Module/Role/User模块的ReadFunctions功能 wip: (ex) 移除异常中间件JsonExceptionHandlerMiddleware,有异常直接返回给前端,由前端捕捉 wip: (handfire) handfile使用新的API实现,停用弃用API wip: (ui) 配合vue前端更新vue/view生成模板 wip (utils): 将Utils从OSharp.Core项目中提取到OSharp.Utils wip: 使用global using 优化项目代码和命名空间 wip: (efcore) snow: 将实体主键改为雪花算法 #287 wip: 添加MvcOptions.IsLongToStringConvert选项,用于控制json序列化时是否将long类型转换为string类型 wip: (auth) 实体属性信息Json字符串如果数据库字段太多的话,5000会不够 docs: 将osharp-docs项目添加到osharp/docs中 docs: 使用awesome-pages插件整理文档中心的导航菜单 docs: 使用docker方式发布osharp.docs test: 使用OperatingSystem.IsWindows()方式来判断windows平台的测试用例 ci: 添加workflow_dispatch以支持手动执行
bug: (efcore) 修复提交事务后,工作单元和数据上下文无法重用的问题 #283 bug: (efcore) 修复数据库初始化迁移记录数据表错误的问题 bug: (auth) 修复模块Module删除功能刷新权限id指向不正确的问题 bug: (entity) 修复通过Dto插入实体类之后Dto.Id没有新增实体Id值的问题 fix: 修复WebApi引用7.0MySql,Oracle的问题
此更新包含 62 commits ,此大版本关闭了 5 issues
此更新包含 68 commits ,此大版本关闭了 4 issues
feat(auth): 将数据权限重构为独立服务IDataAuthService #233 feat(efcore): 给初始化种子基类SeedDataInitializerBase的SeedData添加 ScopedProvider,方便在构建种子数据时拉取需要的父数据 #231 feat(efcore): long类型主键添加0值检查,方便自定义赋Id值,而不使用雪花算法生成 feat: (filter) FilterRule.IsLowerCaseToUpperCase 默认值为true feat(util): 将项交换扩展方法Swap的集合类型改为IList<T> feat(util): 添加集合项上移SwapUp、下移SwapDown快速操作扩展方法 feat(cache): 添加批量移除缓存项扩展方法 feat(mvc): 添加MvcOptions,用于控制JSON输出属性大小写控制 feat(mvc): OSharp:Mvc:IsLowercaseUrls配置节点默认值改为false,即MVC的URL默认不小写 feat(wpf): Wpf项目添加一些常用样式 feat: (filter) FilterRule.IsLowerCaseToUpperCase 默认值为true 在public.props中使用<GenerateDocumentationFile>true</GenerateDocumentationFile> 代替各个.csproj文件中的xml生成配置 sdk(net6): 使用WebApplication改写AspOsharpPack及其派生类 nuget: 将nuget程序包的前缀由OSharpNS更改为OSharp sdk(net6): 整体修复项目中的各种警告问题 sample(wpf): 添加代码生成器的WPF示例项目
refactor(auth): 将IAccessClaimsProvider更名为IUserClaimsProvider break(cache): 移除IQueryable<T>相关的缓存扩展方法,相应功能转移到 ICacheService 中 break(efcore): 给 Repository 添加事务提交,确保只有一层事务的时候,未主动开启事务的情况下能提交事务 change(efcore): 添加实体的字符串长度配置 change(systems): 更改KeyValue的缓存方式,整体缓存改为颗粒缓存
fix(auth): 修复角色初始化数据不保存的问题 fix(auth): 修复新建数据库时如果Hash缓存存在,不同步Function数据的问题 fix(efcore): 修复数据权限未启用时报_dataAuthService空异常的问题 fix(mapper): 修复automapper的如果有MapFromAttribute和实现IAutoMapperConfiguration,后者会配置会失效的问题 #109 fix(automapper): 重构AutoMapper模块,解决复杂映射配置优先级低的问题 #230 #109 fix(mvc): 修复Mvc提取Function会提取属性方法的问题 fix(mvc): 修复[UnitOfWork]在并发的情况下提交事务错误的问题 fix(mvc): 修复审计功能不记录操作审计的问题
此更新包含 68 commits ,此大版本关闭了 4 issues
此更新包含 68 commits ,此大版本关闭了 14 issues
IUpdateAudited
不更新LastUpdatedTime
的问题此更新包含 63 commits ,此大版本关闭了 7 issues
TimeSpan
, IEnumerable
扩展方法,添加集合项位置交换的扩展方法SwapIKeyGenerator
,ISequentialGuidGenerator
接口,用于实体主键数据的生成此更新包含 114 commits ,此大版本关闭了 8 issues
IDataAuthEnabled
的情况下ToCacheArray,ToCacheList缓存键生成出错的问题 #176此更新包含 38 commits ,此大版本关闭了 14 issues
ISeedDataInitializer
实现类进行种子数据初始此更新包含 3 commits
此版本包含 15 commits
TableNamePrefixAttribute
特性提供前缀