NLog 目前最为出色的 .NET 日志库,非常容易配置,且极具灵活性。最重要的是与 log4net 相比,NLog 的开发很活跃。顺带提一句,NLog
完全兼容 Mono。
.NET IL代码及 Assembly 操纵库,可以不需要把 DLL 加载到内存就能够分析其中的元数据和类型,也能够创建
Assembly。此库被广泛应用于涉及 IL 代码分析和生成的领域。
NRefactory 提供了对 C# 和 VB.net 代码的解析和编译功能。你可以通过 NRefactory 把一段 C#
源程序解析成抽象语法树,甚至还能够进行语义分析和生成 IL代码。换句话说,NRefactory 把一个 C# 编译器以 API
的形式提供给你,让你有能力在程序运行时处理 C# 代码,实际上,NRefactory 的核心就是一个修改过的 Mono C# 编译器。NRefactory
在很多地方是非常有用的,一个最简单也是最实用的例子:C#中的 LINQ 表达式通常是静态的,也就是你写的 from x in y where xxx
最终是被编译器转化成了表达式树的形式。因此, C# 程序在运行的时候是无法如 SQL 一般通过字符串来拼凑出 LINQ 表达式并执行的,但通过
NRefactory 提供的编译器级别的能力你就能够做到这一点。
Irony 号称是“编译器构造工具”,实际上是一个类似 C++ Boost.spirit 的 LALR 语法分析生成器,但与 C++
Boost.spirit 不同的是 Irony 是在运行时生成解析器,而不是靠各种奇技淫巧的模板元编程。拜 C# 的操作符重载能力所赐,Irony
的语法定义已经很接近 EBNF 的定义了,相当简洁。如果有简单的文本文件解析的需要的话,Irony 应该是不错的选择。稍显遗憾的是 Irony
的解析器不是泛型的,只能解析 string 不能解析字节流,而且目前 Irony 还处于 alpha 阶段,并不适合生产使用。
Ionic.Zip 是一个非常轻量级的 Zip 文件访问库,提供了压缩和解压缩 zip 文件的功能,相对于常见的 Sharpzip 库,Ionic.Zip
的优点在于轻量级,只有一个很小的 DLL。且 Ionic.Zip 的MS-PL授权形式更加开放,对商业应用更加友好。
这三个都是极轻量级的 ORM 工具,基本功能就是从 POCO 对象转换为 SQL 查询与SQL查询结果转换为 POCO 对象,由于它们都只在
ADO.NET 上做了一层非常薄的封装,因此性能非常高,跟直接用 ADO.NET 相差无几。相对与 NHibernate 和 ADO.NET EF 这样的全功能
ORM 框架来说,轻量级 ORM 基本上都不支持更改跟踪之类的高级功能,但是比起手工拼接 SQL 方便和安全很多。三个库都支持完全意义上的 POCO 对象,不像
NHibernate 要求对象的属性 virtual 的,可以说没有一点儿侵入性。特别要说的是 Dapper,这个库只有一个 .cs
源文件,而且没有限制数据库,只要有 ADO.NET 驱动的都可以,这一点是另外两个都做不到的。另外,OrmLite 有个特性可以跟据 POCO
对象自动建表,对于数据库的操作因此方便了很多,但其目前支持 SQLite 和 SQL Server 不能不说是很大的遗憾。
最后的结论就是,如果你目前:还在用 .NET 1.0 时代的 DbHelper 或者 SqlHelper、不满意 NHibernate/ADO.NET
EF 的性能、直接用 ADO.NET 的话,这三个工具都可以很好地帮助你以微小的性能损失为代价换来更好与更安全的数据库访问层设计。
作者:昆明维智众源企业管理咨询有限公司
== EOF ==
分享到:
相关推荐
asp.net开源博客系统asp.net开源博客系统asp.net开源博客系统asp.net开源博客系统
.net 开源项目 DotNetNuke
ASP.NET开源OA代码 .Net4.0或者.Net4.8,使用orm freesql
23个.NET开源项目,简单介绍每个项目的作用
asp.net开源程序中好像用vb.net写的不是很多,本例就是难得的一个。
.Net开源流程引擎RoadFlow最新版(全部源码)
.net 开源cms
asp.net 开源后台cms系统 菜小鸟开源asp.net 后台
企业级开源软件大盘点1 - VS.Net 开源框架
.net基础类库开源代码让你对.net有更进步的了解
.net 开源项目 Portal Source PortalSource
Discuz开源论坛.NET版 非常不错的
本设计源码提供了一个基于.NET Framework 4.0+、.NET6、.NET7、.NET8 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。项目包含589个文件,主要使用C#编程语言。文件类型包括357个C#源代码文件...
asp.net 开源网站源码 体育学院
BugNet .Net开源项目(C#版)
asp.net(c#)开源商店系统Brn shop 1.9(免费仿京东商城) 采用asp.net framework 4.0+mvc 3.0
.Net开源CMS 适用于各种网站,附带商城等
.net 开源项目 RainbowPortal
都是一些大公司的开源项目!供大家参考!大家一起学习!共同进步~!
asp.net 开源 asp.net 开源 asp.net 开源 asp.net 开源 asp.net 开源