MongoDB +ASP.NET MVC3实战二【ASP.NET MVC3中使用MongoDB】

有了之前对MongoDB的了解,接下来我们开始在ASP.NET MVC3中使用它了。我找了两个,一个是从官方的Driver下载编译之后应该有两个dll文件,分别是MongoDB.Bson.dll和MongoDB.Driver.dll。具体怎么用可以去搜索一下。

另一个是https://github.com/samus/mongodb-csharp/downloads,本示例使用后者,编译这个项目就能得到文件名:MongoDB.dll 具体用法可以参考下载Solution中的Sample。

具体操作请各位直接看代码吧,最后也附有源码下载。

下面分别是在MVC3中对【频道】的增、删、改、查操作

首先定义 Channel 实体

public partial class Channel
   {
       public Guid ChannelId {get ;set ; }


       [Required(ErrorMessage = "请输入频道名称!")]
       public string ChannelName  { get ;set ; }


       [Required(ErrorMessage = "请输入频道FMS路径!")]
       public string FMSPath{ get ;set ; }


       public int VideoType { get ;set ;}

       public int ChannelStatus {get ;set ; }

 

       [Required(ErrorMessage = "请输入流名称!")]
       public string StreamName { get ;set ;}

   }

频道列表

public static List<Channel> GetChannel()

{

   using (Mongo mg = newMongo(DBcon._connectionString))

   {    

       mg.Connect();

       var db = mg.GetDatabase(DBcon._channel);

       var list = db.GetCollection<Channel>();

       var query = (from c in list.Linq() select c).ToList<Channel>();

        return query;

  }
}

新增频道

public static void AddChannel(Channel model)

{
  using (Mongo mg = new Mongo(DBcon._connectionString))
  {
     mg.Connect();
     var db = mg.GetDatabase(DBcon._channel);
     var list = db.GetCollection<Channel>();
     list.Insert(model);
   }
}

更新频道

public static void UpdateChannel(Channel model)

{
 using (Mongo mg = new Mongo(DBcon._connectionString))
  {
    mg.Connect();
    var db = mg.GetDatabase(DBcon._channel);
    var list = db.GetCollection<Channel>();
   list.Update(model, c => c.ChannelId == model.ChannelId);
  }

}

删除频道

public static void DeleteChannel(Guid cid)
{
  using (Mongo mg = new Mongo(DBcon._connectionString))
{
mg.Connect();
var db = mg.GetDatabase(DBcon._channel);
var list = db.GetCollection<Channel>();
list.Remove(c => c.ChannelId == cid);
}

}

image

MVC3+MongoDB源码下载

posted @ 2011-11-15 11:33  ZYB  阅读(673)  评论(0编辑  收藏  举报