.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