MVC——就酱紫一个系列,这是一个好的开始5
整理的过程中 发现了点小问题
由于是参照之前公司的项目去学习 总是有些细节 被忽略了
ID的问题
我的model里面有个ID 但是后来改为了long
在之前测试增加查询的时候就出现了问题 model 读取和增加的不一样
问题原因是 Mongo 默认是有个_id的 是Object 类型 只有增加数据 就自动添加
然后就看了一下公司的代码
using System; using System.Collections.Generic; using Norm; using MongoDB.Bson.Serialization.Attributes; namespace Core.Model { public class Entity { [MongoIdentifier] public long Id { get; set; } [BsonDateTimeOptions(Kind = DateTimeKind.Local)] private DateTime entrytime = DateTime.Now; /// <summary> /// 录入时间,默认去当前时间 /// </summary> [BsonDateTimeOptions(Kind = DateTimeKind.Local)] public DateTime EntryTime { get { return entrytime; } set { entrytime = value; } } } public interface IDel { bool IsDeleted { get; set; } } }
多了个MongoIdentifier 属性
这个属性是using Norm;这个命名空间下的 找到这个dll 发现是另一个版本的C#MongoDB的驱动
之前忘说了 Mongodb C#版驱动有好多版本
Mongodb C#版驱动
第一款:mongodb-csharp 项目地址:http://github.com/samus/mongodb-csharp
简单介绍:该驱动是比较全的驱动,更新随度非常快,有人已经应用到项目中去,并且表现非常好。目前他们的团队正在致力于连接管理这部分功能的扩展例如:自动重连,连接池等等。
第二款:mongodb-net 项目地址:http://code.google.com/p/mongodb-net/
简单介绍:该开发还在进行中,有些功能还没有实现。
第三款:MongoDB.Emitter 项目地址:http://bitbucket.org/gwbasic/mongodb.emitter/
简单介绍:提供了强类型支持
第四款:CSMongo 项目地址:http://somewebguy.wordpress.com/2010/02/21/building-a-mongo-driver-part-1/
简单介绍:实现了部分功能,并且没有可下载的代码。但是你可以看他的博客以了解这种驱动的思想。
第五款:simple- mongodb 项目地址:http://code.google.com/p/simple-mongodb/
简单介绍:没有提供源代码,以JSon为核心。
最后一个是对第一款某些地方的增强,地址http://deserialized.com/convert-csharp-classes-to-and-from-mongodb-documents-automatically-using-net-reflection
第六款:NoRM 项目地址:http://github.com/atheken/NoRM
介绍:增强了第一种,支持强类型。
以上内容来着百度http://hi.baidu.com/wyg_bd/item/e8db60fdbf1d80c5531c2607
我们找到NoRM 的dll继续项目
经过测试还得把model 里面的ID 改为Id 不明觉历 明天查查 太晚了
我们的QQ群:
105568127

浙公网安备 33010602011771号