zoukankan      html  css  js  c++  java
  • asp.net 使用 MongoDB 初体验

    首先:驱动


    如果asp.net 想使用MongoDB,.net没有自带的链接类。得用第三方或官方的链接类。

    当然有很多种驱动,我就不一一介绍了。

    今天我就介绍一个我比较常用的驱动-----MongoDB。

    接下来,我们还要去下载MongoDB的C#驱动,它可以让我们在C#中使用MongoDB 。下载地址:https://github.com/samus/mongodb-csharp


    我们在C#访问MongoDB所需的驱动就是项目MongoDB了。编译这个项目就能得到了,文件名:MongoDB.dll

    asp.net 中 使用 MongoDB


    首先先启动MongoDB,我在之前的文章里已经介绍过在这里就不做介绍了。

    建立一个实体类 用户表

    [csharp] view plaincopy
     
    1. public partial class User{  
    2.     [MongoId]  
    3.     public string UID{ get; set; }  
    4.     public string NAME{ get; set; }  
    5.     public string SEX{ get; set; }  
    6.     public int AGE{ get; set; }  
    7.     }  

    说明:这就是一个简单的类,而且代码中的[MongoId]也是可以不要的,如果要是写了他会映射"_id"字段。


    MongoDB数据库首先先建一个数据库叫“dbmy”,建一个集合(表)“User”,在建立文档(数据)。

    一下例子都需要引入MongoDB.dll

    [csharp] view plaincopy
     
    1. private string _connectionString = "Server=127.0.0.1";  //数据库服务器ip或地址  
    2.   
    3. private string _dbName = "dbmy";  


    添加数据

    [csharp] view plaincopy
     
    1. public void Insert(User user)  
    2. {  
    3.     user.UID = Guid.NewGuid().ToString("N");  
    4.   
    5.     // 首先创建一个连接  
    6.     using( Mongo mongo = new Mongo(_connectionString) ) {  
    7.   
    8.         // 打开连接  
    9.         mongo.Connect();  
    10.   
    11.         // 切换到指定的数据库  
    12.         var db = mongo.GetDatabase(_dbName);  
    13.   
    14.         // 根据类型获取相应的集合  
    15.         var collection = db.GetCollection<User>();  
    16.   
    17.         // 向集合中插入对象  
    18.         collection.Insert(customer);  
    19.     }  
    20. }  


     

    删除数据

    [csharp] view plaincopy
     
    1. public void Delete(string UId)  
    2. {  
    3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
    4.         mongo.Connect();  
    5.         var db = mongo.GetDatabase(_dbName);  
    6.         var collection = db.GetCollection<Customer>();  
    7.   
    8.         // 从集合中删除指定的对象  
    9.         collection.Remove(x => x.UID == UId);  
    10.     }  
    11. }  


     


    修改数据

    [csharp] view plaincopy
     
    1. public void Update(User user)  
    2. {  
    3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
    4.         mongo.Connect();  
    5.         var db = mongo.GetDatabase(_dbName);  
    6.         var collection = db.GetCollection<User>();  
    7.   
    8.         // 更新对象  
    9.         collection.Update(user, (x => x.UID == user.UID));  
    10.     }  
    11. }  


     


    获取数据

    [csharp] view plaincopy
     
    1. public User GetById(string UId)  
    2. {  
    3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
    4.         mongo.Connect();  
    5.         var db = mongo.GetDatabase(_dbName);  
    6.         var collection = db.GetCollection<User>();  
    7.   
    8.         // 查询单个对象  
    9.         return collection.FindOne(x => x.UID == UId);  
    10.     }  
    11. }  



    调用


    假如把操作方法都封装在一个叫test.cs的类。

    [csharp] view plaincopy
     
      1. test t=new test();  
      2. //插入数据   
      3. t.Insert(User);  
      4.   
      5. //更新数据  
  • 相关阅读:
    [最新]制作u盘引导安装ubuntu11.04
    js记录
    下面的代码有什么不妥之处
    Oracle常用命令
    蓝天下,献给你,html5
    无意义的小东西
    sql中,把varchar类型转换为int型,然后进行排序
    身边的人,来来去去
    不一定能写出来的求素数问题
    写在第一百篇博客之际
  • 原文地址:https://www.cnblogs.com/Alex80/p/4384360.html
Copyright © 2011-2022 走看看