Fur,悄悄燃起的 .NET 5 框架,v1.0.0-2020.10.10 发布

2020年10月10日

star fork GitHub stars GitHub forks GitHub license

Fur 是 .NET 5 平台下极易入门、极速开发的 Web 应用框架。

目前进度

Fur 框架从 .NET 5 发布第一个 Preview 1 版本就已经着手准备开发了,目前已经提交了 1076 次修改,解决了 87 个 Issue,合并了 28 个 PR,有 14 位 代码贡献者,收获 824 个 star,QQ 交流群近 200 人,获得 GVP 证书9 场在线直播7 家公司 已经开始学习使用,目前编写了 55 篇文档(还在继续)。

可以说,Fur 目前是国内首个较成熟的 .NET 5 框架

 

本次更新

本次更新带来了一波新特性新功能,同时修复了诸多bug,开始逐步稳定。

  • 新特性
    • [新增] Firdbird 数据库支持
    • [新增] Dm 达梦数据库支持
    • [新增] App.GetService<T> 和 App.GetRequestService<T> 方法
    • [新增] App.GetTransientDbContext<TDbContextLocator> 和 App.GetScopedDbContext<TDbContextLocator> 方法
    • [新增] AppDbContext TenantId 属性 和 TenantIdQueryFilterExpression 方法
    • [新增] 数据库上下文瞬时作用域解析委托
    • [新增] Sql 模板功能,支持外部配置 Sql,运行时动态修改
    • [新增] MD5、DESC、AES 加解密支持
    • [新增] 动态加载数据库提供器程序集,无需编写数据库拓展方法
    • [新增] Xml 配置支持,自动加载Xml配置
    • [新增] Sql 模板、读写分离、分表分库文档
    • [新增] AppStartup 配置请求管道实现方法
    • [新增] AppDbContext.Tenant 属性和 AppDbContext.TenantIdQueryFilterExpression 表达式
    • [新增] IRepository.Tenant 属性
    • [新增] App.GetService 和 App.GetRequestService 方法
    • [新增] IWebHostBuilder.Inject() 方法,支持自动注入 Fur 核心代码
    • [新增] 自定义代码迁移程序集名称,感谢 @1024 #I1XH6Q
    • [新增] 统一依赖注入接口,自动判断非泛型和泛型类型进行注册
    • [新增] 依赖注入动态代理功能
    • [新增] 依赖注入支持 appsetting.json 配置注入
    • [新增] 外部程序集动态加载和注入,实现插件热拔插功能
    • [新增] 接口动态代理功能
    • [新增] Aop、多租户例子
  • 破坏性改变
    • [调整] [DbContext] 特性为 [AppDbContext] ,避免和 EF Core 的 DbContext 冲突
    • [调整] Tenant 多租户模型代码
    • [调整] SaaS多租户提供器实现方式
    • [删除] DatabaseAccessorSettingsOptions.cs 数据库配置选项类
    • [删除] 默认 SqlServer Nuget 依赖
    • [调整] Fur.Web.Entry 引用项目关系,现在只依赖 Fur.Web.Core 项目
    • [调整] DbContextAttribute 为 AppDbContextAttribute
    • [调整] StartupAttribute 为 AppStartupAttribute
    • [调整] App.Services 为 App.InternalServices
    • [调整] App.TransientServices 为 App.Services
    • [移除] 自定义多租户提供器的实现方式,采用全新的 AppDbContext 依赖实现方式
    • [移除] Fur 核心层所有数据库类型的包,只保留一个公共的 Microsoft.EntityFrameworkCore.Relational 包
    • [移除] SqlServer 依赖包
    • [调整] 取消默认引用程序集载入,调整为手工启用,配置 AppSettings:EnabledReferenceAssemblyScan 为 true 即可
    • [调整] 动态代理 ServiceProvider 属性名为 Services
  • 问题修复
    • [修复] Sql 字符串拓展方法 bug
    • [修复] 跨域Https bug
    • [修复] 文档错别字和错误示例,感谢 感谢 @lindexi (#PR20, #PR21, #PR22)
    • [调整] 其他小调整和优化
    • [修复] AppDbContextBuilder 扫描数据库上下文关联类型bug
    • [修复] IEntityWithDbContextLocatorExtensions 遗漏 FakeDelete 假删除方法
    • [修复] AppDbContextBuilder 扫描类型bug
    • [修复] AppDbContextBuilder 多租户配置bug
    • [修复] 基于 Database 方案的多租户动态数据库连接字符串bug
    • [修复] 基于 Schema 方法的多租户模型生成bug
    • [修复] 工作单元事务处理bug
    • [修复] 依赖注入服务多次扫描注册bug,严重影响性能
    • [修复] 分表分库拓展bug
  • 其他更改
    • [调整] App.cs 代码
    • [调整]` 接口依赖命名规范
    • [调整] Program.cs 代码
    • [调整] Fur.Web.Entry 的 Starup.cs 代码到 Fur.Web.Core 层
    • [移除] 依赖注入泛型接口,实现自动化判断
    • [优化] 加载配置文件性能
  • 文档更新
    • [新增] 多租户文档
    • [新增] 完整的多租户文档
    • [新增] 应用启动文档
    • [新增] 应用启动文档
    • [新增] 多租户文档
    • [调整] 数据库上下文、多数据库上下文、一分钟入门文档
    • [调整] 一分钟入门、存储过程、函数、多数据库操作、仓储文档
    • [修复] 文档错别字,(#PR24, #PR25, #PR27, #PR28)

项目地址

文档地址

Fur 遵循 Apache-2.0 开源协议,欢迎大家提交 PR 或 Issue。喜欢可以给个 Star

展开阅读全文
16 收藏
分享
加载中
精彩评论
大佬牛逼,必须尝鲜,跟上节奏
2020-10-10 17:54
4
举报
欢迎回来,.NET 的世界已经发生翻天覆地的变化。
2020-10-11 10:39
2
举报
灰常期待!努力奋斗!!!!
2020-10-10 18:21
1
举报
值得期待!
2020-10-10 17:58
1
举报
最新评论 (32)
你这是写了个ABP啊
2020-10-15 21:08
0
回复
举报
哈哈,准确的说,我在实现java一样流行的spring框架。abp没有达到我的期望值。
2020-10-16 10:09
0
回复
举报
支持大佬
2020-10-14 13:19
0
回复
举报
向陈总学习,做个匠人
2020-10-13 21:21
0
回复
举报
支持下大佬
2020-10-13 00:37
0
回复
举报
看来,作者老大喜欢.NET更胜于ts.js,希望作者老大接下来更新一波layx
2020-10-11 10:32
0
回复
举报
嗯嗯,一定更新 Layx,立贴为证。Layx 是我非常喜爱的作品,而且励志做成最好的弹窗。
2020-10-11 10:38
0
回复
举报
立志
2020-10-11 10:41
0
回复
举报
跟上net5 我上车了 车门已经焊死
2020-10-10 23:07
0
回复
举报
哈哈,加油。👍
2020-10-11 00:26
0
回复
举报
太可惜了,我已经不在这里很久了。
2020-10-11 10:28
0
回复
举报
欢迎回来,.NET 的世界已经发生翻天覆地的变化。
2020-10-11 10:39
2
回复
举报
这个更新节奏是真特么猛。
2020-10-10 22:26
0
回复
举报
哈哈,因为.net 5正式版即将发布
2020-10-11 00:26
0
回复
举报
是否有RPC方面的支持?
2020-10-10 21:12
0
回复
举报
有啊,看文档,grpc要支持,文档正在努力写。
2020-10-10 21:20
0
回复
举报
不是后台管理系统?
2020-10-10 19:18
0
回复
举报
和java spring 框架类似的框架。
2020-10-10 19:21
0
回复
举报
框架和文档不错啊,不知道能不能在VS code上开发
2020-10-10 18:45
0
回复
举报
可以啊,支持VS Code,README.md 有说明。
2020-10-10 18:50
0
回复
举报
更多评论
32 评论
16 收藏
分享
返回顶部
顶部