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 拥有一个对开源项目免费的许可,但如果用于商业项目则需要使用付费许可。
评论