.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
Entity Framework
Entity Framework 是一种被推荐用于那先采用 .Net 进行构建的新应用程序数据层访问技术。它是一种对象 - 关系数据映射器(ORM),这使得.Net 开发者可以采用基于领域涉及的对象来访问关系型数据。它消除了很多以往需要开发者进行手写的数据访问代码。
Entity Framework 有两个版本:
Entity Framework 6 是为 .NET Framework 构建的旧版本的 Entity Framework, 其仅仅只能运行于 Windows 上。
Entity Framework Core 是轻量型、可扩展、基于.NET Standard 的新版本,其能够适用于 Windows、Linux 和 macOS 上。
项目详情
- 官网地址
- 源码仓库
- 许可证类型: Apache 2.0
相关链接
Entity Framework 文档:
笔者简评
EF 算得上是在 .NET 为数不多的 ORM 框架中较为主流的一款,甚至于不用多加介绍。
EF 的强大功能能够是开发者在编写数据访问层时减少大量手写 SQL 的情况,一定程度上提高了代码的可维护性。
不过在社区中关于 EF 难用的声音也是此起彼伏。就笔者认为,一个开发工具的难用更加准确的来说应该被描述为 “工具不适用与当前的团队和项目”。
团队水平和项目情况往往是决定技术选型的重要因素。如果团队成员水平难以驾驭诸如延迟加载、导航属性、继承关系、缓存处理等等 EF 的高级特性,那么在项目的不断推进的过程中将会不断产生新的由于框架不熟悉导致的问题。
因此,如果要融会贯通的使用 EF ,仅仅只是运行 Quick Start 是远远不够的。通读文档,充分实践,是用好所有开发工具必要的操作。
英文介绍
Entity Framework
Entity Framework is the recommend data access technology for new applications in .NET. It is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.
Entity Framework has two versions:
Entity Framework 6 is the legacy Entity Framework for .NET Framework, that runs only on Windows.
Entity Framework Core is a new, lightweight and extensible .NET Standard based version for .NET applications running Windows, Linux and macOS.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: Apache 2.0
Quicklinks
Entity Framework Documentation:
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
Humanizer
Humanizer 能够满足您所有.Net 关于操作和展示以下类型的需求,包括字符串、枚举、日期、时间、时间跨度、数字和数量。它采用 MIT 进行授权分发。
项目详情
- 官方网站
- 项目源码
- 项目许可证: MIT
- 项目联系人: Mehdi Khalili and Oren Novotny
相关链接
笔者简评
在业务开发中经常出现一个需求:需要将枚举以中文的形式展示在 UI 界面上。
这个需求的一种办法,就是在枚举上定义 DescriptionAttribute ,然后使用方法获取该值以进行展示。
类似以上这种需求,实际上都是为了将计算机定义的形式以人类容易理解的方式进行展示。这也就是该工具库所关注的需求点。
正如简介所指,它能够解决多种类型的展示问题,详细可以阅读项目文档进行了解。
英文介绍
Humanizer
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities. It is licensed under the MIT (an OSI approved license).
Project Details
- Website
- Source
- License: MIT
- Project Leads: Mehdi Khalili and Oren Novotny
Quicklinks
- Documentation
- Discussions are held on Gitter.
- Contribute
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
IdentityManager
IdentityManager 是一款为开发者或管理员提供在 ASP.NET Core 应用程序中进行用户身份认证信息管理的工具。
它包括有:创建用户、编辑用户信息(密码、邮箱和声明等等)和删除用户等基本功能。
它可以作为 “内建于 Visual Studio 中的 ASP.NET 网站管理工具” 的一个现代化替代方案。
项目详情
- 官方网站
- 项目源码
- 项目许可证: Apache License 2.0 (Apache)
- 项目联系人: Scott Brady
相关链接
- 项目文档
- 参与贡献
- Rock Solid Knowledge(项目维护方官网)
- Scott 的博客
- Brock 的博客
- 聊天室
- Twitter: @rskltd & @scottbrady91 & @brocklallen
笔者简评
首先值得注意的是,这是一个用户开发环境的工具。因此,非常不建议在生产环境使用。而且通常是不需要用到它的。
“内建于 Visual Studio 中的 ASP.NET 网站管理工具” 想必用户的国内开发者并不多。因为绝大多数情况下项目需要自研身份认证系统,而本工具的适用性相当有限,而且与微软原来推崇的 ASP.NET Membership 等老一代身份认证方案有关联,因此,今日的知名度就更小了。
本项目本身是运行于 ASP.NET Core 之上的,默认实现是针对于 ASP.NET Core Identity 。 当然,可以扩展以支持自建的身份认证系统和用户管理方式,但通常国内不会这么做。
笔者建议抱着学习的态度,使用和学习该项目。
英文介绍
IdentityManager
IdentityManager
is a tool for developers and/or administrators to manage the identity
information for users of their applications in ASP.NET Core. This includes
creating users, editing user information (passwords, email, claims, etc.)
and deleting users. It provides a modern replacement for the ASP.NET WebSite
Administration tool that used to be built into Visual Studio.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: Apache License 2.0 (Apache)
- Project Main Contact: Scott Brady
Quicklinks
- Documentation
- Contribute
- Rock Solid Knowledge
- Scott’s blog
- Brock’s blog
- Chat
- Twitter: @rskltd &
@scottbrady91 &
@brocklallen
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。
其他项目
- Akka.NET
- AngleSharp
- ASP.NET SignalR
- ASP.NET MVC, Web API and Web Pages Razor
- ASP.NET Ajax Control Toolkit
- ASP.NET Core
- AutoMapper
- Microsoft Azure SDK for .NET
- Microsoft Azure WebJobs SDK
- BenchmarkDotNet
- Cake
- Chemistry Add-in for Word
- Couchbase Lite for .NET
- DNN Platform
- .NET Compiler Platform Roslyn
- .NET Micro Framework
- .NET SDK For Hadoop
- DotVVM: Component-based MVVM framework for ASP.NET