开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
以下开源项目(含组件),从网络搜集,后期会不断补充。
9、Enums.NET
Enums.NET是一个高性能类型安全的.NET枚举实用程序库。它提供了许多操作作为方便的扩展方法。它与.NET Framework 4.5 和.NET Standard 1.0 兼容。
开源地址:https://Github.com/TylerBrinkley/Enums.NET
8、MoreLinq
该项目使用以下方法增强 LINQ to Object:Acquire、Aggregate、AggregateRight、Append、Assert、AssertCount、AtMost、Await、AwaitCompletion、Backsert、Batch、Cartesian、Choose、CountBetween、CompareCount、CountBy、CountDown、Consume、DistinctBy、EndsWith、EquiZip、Evaluate,、Exactly、ExceptBy,Exclude,FallbackIfEmpty,FillBackward,FillForward,Flatten,Fold,ForEach,From,FullGroupJoin,FullJoin,Generate,GenerateByIndex,groupappearch,Index,IndexBy,Insert,Interleave,Lag,Lead,LeftJoin,MaxBy,Memoize,MinBy,Move,OrderBy,OrderedMerge,Pad,PadStart,Pairwise,PartialSort,PartialSortBy、Partition、Permutations、Pipe、Prepend、PreScan、Random、randouble、randomsublet、Rank、RankBy、Repeat、Return、RightJoin、runlengthcode、Scan、ScanBy、ScanRight、Segment、Sequence、Shuffle、SkipLast、SkipUntil、Slice、SortedMerge、Split、StartsWith、Subsets、TagFirstLast、TakeEvery、TakeLast、TakeUntil、ThenBy、ToArrayByIndex、,ToDataTable、ToDelimitedString、ToDictionary、ToHashSet、ToLookup、Trace、Transpose、TraverseBreadthFirst、TraverseDepthFirst、TrySingle、UNDOWN、WindowLeft、WindowRight、ZipLongest、ZipShortest。
MoreLINQ有两种用法。最简单的方法是只导入MoreLinq名称空间,所有扩展方法都可以立即用于它们扩展的类型(通常是IEnumerable的一些实例化)。但是,在一些非常罕见的情况下,这样做可能会导致与您可能正在使用的其他库发生冲突,这些库还附带使用同名方法和签名扩展同一类型。例如,当微软.NET Framework 4.0引入Zip时,MoreLINQ已 经有了一个Zip。从 MoreLINQ 的3.0版开始,您可以使用C#6中引入的静态导入功能,通过单独导入所需的扩展方法来减少当前(甚至将来)冲突的可能性:
using static MoreLinq.Extensions.LagExtension;
using static MoreLinq.Extensions.LeadExtension;
在上面的例子中,范围内只有Lag和Lead扩展方法可用。
除了扩展方法之外,MoreLINQ还提供了常规的静态方法,可以生成(而不是操作)序列,如Unfold、Random、Sequence等。如果要在静态导入其他单个扩展方法时使用这些方法,可以通过别名来实现:
using static MoreLinq.Extensions.LagExtension;
using static MoreLinq.Extensions.LeadExtension;
using MoreEnumerable = MoreLinq.MoreEnumerable;
在上面的示例中,Lag和Lead可以作为扩展方法使用,也可以作为MoreEnumerable上的所有常规静态方法使用,但是没有MoreEnumerable提供的任何扩展方法。
开源地址与使用教程:https://github.com/morelinq/MoreLINQ
7、Email 组件
- FluentEmail
.NET平台下提供了SmtpClient类工开发者用于编写发送邮件的业务功能,该类能满足大部分场景下的业务需求,但是使用起来稍微有点麻烦。
FluentEmail是一款在GitHub上开源免费的支持.Net和.Net Core邮件发送组件。
FluentEmail功能强大,而且对不同场景的支持都有独立的Nuget包,这种低耦合的拆分不仅使得依赖非常清晰,而且避免引入不需要的代码,具体功能包含在以下的组件包中:
- FluentEmail.Core - 基础核心包,包含了基础的模型定义和默认的设置,而且以下的引用包都包含了这个核心包。
- FluentEmail.Smtp - 使用SMTP服务发送邮件的程序包。
- FluentEmail.Razor - 通过Razor模板生成邮件发送内容。
- FluentEmail.Liquid -使用Liquid模板生成电子邮件。
- FluentEmail.Mailgun - 使用Mailgun的Rest接口发送邮件。
- FluentEmail.SendGrid - 使用SendGrid接口发送邮件。
- FluentEmail.Mailtrap - 发送邮件Mailtrap, 使用的是FluentEmail.Smtp包进行发送.
- FluentEmail.MailKit - 使用MailKit邮件库发送邮件。
开源地址:https://github.com/lukencode/FluentEmail
6、ORM组件
- Dapper
Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。
开源地址:https://github.com/DapperLib/Dapper
https://dapper-tutorial.net/
- FreeSql【国产】