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群:

ASP.NET零度交流群

 105568127

posted @ 2013-12-02 23:53  风飞萧雪  阅读(187)  评论(0)    收藏  举报