NoRM:MongoDB 的另一个.NET 提供器

阅读数:2158 2010 年 7 月 10 日

话题:.NETDevOps语言 & 开发架构AI

NoRM是个包装了 MongoDB 的.NET 程序库,简化了.NET 操纵该文档数据库的过程。其主要特性有:强类型的接口、支持 LINQ、支持.NET 与 Mono。

该提供器的主要特性有:

  • 为 MongoDB 提供了一个强类型的接口
  • 支持大多数常用的 MongoDB 命令
  • 支持 LINQ-to-MongoDB
  • 兼容于.NET 与 Mono
  • BSON到.NET CLR 类型的双向序列化;BSON 是 MongoDB 所用的 JSON 文档的二进制编码序列化格式

下面是 NoRM 的使用示例(摘自wiki):

//connString is a URI to the database with the credentials you need.
var coll = (new Mongo(connString)).GetCollection<Product>();
//create a new object to be added to the collection
var obj = new Product();
obj._id = ObjectId.NewObjectID();
obj.Title = "Shoes";
//save the object
coll.Insert(obj);
//find the object
var obj2 = coll.FindOne(new { _id = obj._id}).First();

MongoDB 的另一个.NET 提供器是MongoDB-CSharp。根据其作者 Steve Wagner 所述,MongoDB-CSharp 在.NET/Windows 与 Mono 2.0/Ubuntu 上都进行过测试。

此前,InfoQ 曾报道过 Raven DB(另一个文档数据库,主要用于.NET)的发布信息。与 MongoDB(基于GNU AGPL v3.0许可)不同的是,Raven DB 拥有一个对开源项目免费的许可,但如果用于商业项目则需要使用付费许可。

查看英文原文:NoRM: Another .NET Provider for MongoDB