Fur
It is the .NET 5
best practice framework for enterprise application development under the platform.
Don't ask about the good future, but hope to end without regrets.
After more than a month of continuous iterations, more and more Fur users, Nuget downloads broke 2.3 K, hereby launch the "Learning .NET 5 from Fur" series of tutorials, and plan to push two high-quality tutorials every week.
Framework features
- A new look: Based on the .NET 5 platform, there is no historical burden
- Very easy to get started: only one Inject() is needed to complete the configuration
- Rapid development: built-in rich enterprise application development functions
- Few dependencies: the framework only depends on three third-party packages
- Extremely flexible: easily face changing and complex requirements
- Extremely easy to maintain: Adopt a unique architecture idea, designed only for long-term maintenance
- Complete documentation: Provide complete development documentation
Open Source General Report
- Stars : 1194
- Development team : 20 people
- Code submissions : 1251 code submissions
- Contributors : 29 developers
- Issues : 108 closed, 4 in progress, 4 not started
- PR : 48 merged, 13 closed, 1 review
- Version : Published 31 times
- Document : 58 completed
- Nuget download : 2.3K
- QQ group : 413 people
- Live online : 16 times
Update log
- New features
- [New] `Fur` console reference usage, no longer limited to `Web`
- [New] `.ini` configuration file support
- [New] Read-only repository `FirstOrDefaultAsync`, `SingleOrDefaultAsync`, `LastOrDefaultAsync` methods[#I22PAD](https://gitee.com/monksoul/Fur/issues/I22PAD)
- [New] `[UnifyResult(Return Type]]` normalized document `Swagger Schemas` processing, solving the normalized result `Data` property type not generating bug [#I22VKZ](https://gitee.com/monksoul/Fur/issues /I22VKZ)
- [New] Support custom multi-tenant tables/types
- Breakthrough change
- [Adjustment] ʻApp.HostEnvironment` is ʻApp.WebHostEnvironment`
- [Adjustment] The type of table-based multi-tenant obtaining tenant Id is changed from `Guid` to ʻobject`
- [Adjustment] Table-based multi-tenant global query filter method, currently only needs to pass in the `dbContext` parameter
- [Adjustment] Linq expanded namespaces, all changed to `System.Linq`, keeping consistent with Microsoft
- [Refactoring] ʻUnitOfWork` unit of work mode, and canceled the default opening of the unit of work mechanism, instead of manually pasting `[UnitOfWork]`
- [Removed] `[NonTransact]` feature
- Problem fix
- [Fix] The bug of getting storage and context error of `Db` static class in non-`Web` application
- [Fix] Multi-tenant time `DateTime` type error, adjusted to `DateTimeOffset` [#PR60](https://gitee.com/monksoul/Fur/pulls/60)
- [Fix] The global policy authorization to obtain the destination route object is `null` bug
- [Fix] ʻAppStartup` does not support third-party service method injection bug
- [Fix] An exception bug is thrown when the multi-tenant context is not registered
- [Fix] View engine bug in Linux
- Other changes
- [New] `mysql` connection string configuration example
- [Adjustment] Migrate the assembly name definition class and migrate the original definition to `Db.cs`
- [Update] `Mapster` package to the latest version, fixed multiple bugs
- [Remove] Friendly exception ʻOops` shows error code[#I22U5I](https://gitee.com/monksoul/Fur/issues/I22U5I)
- [Remove] All configurable options `[OptionsSettings]` features
- [Other] Code bottom optimization
- Documentation
- [New] Cross-domain documents
- [Update] Multi-tenant documents, database context documents, configuration documents
- [Update] One-minute introduction, configuration files, work units, standardized interfaces, dynamic WebApi documents [#PR59](https://gitee.com/monksoul/Fur/pulls/59)
project address
Document address
- Domestic documents: https://monksoul.gitee.io/fur/
- Foreign documents: https://chinadot.net
Fur follows the Apache-2.0 open source agreement and welcomes everyone to submit a PR or Issue . If you like, you can give a Star .