您的位置:首页 > 数据库 > Mongodb

asp.net 使用 MongoDB 初体验

2015-04-01 16:51 183 查看

首先:驱动

如果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

public partial class User{

[MongoId]

public string UID{ get; set; }

public string NAME{ get; set; }

public string SEX{ get; set; }

public int AGE{ get; set; }

}

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

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

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

[csharp] view plaincopy

private string _connectionString = "Server=127.0.0.1"; //数据库服务器ip或地址

private string _dbName = "dbmy";


添加数据

[csharp] view plaincopy

public void Insert(User user)

{

user.UID = Guid.NewGuid().ToString("N");

// 首先创建一个连接

using( Mongo mongo = new Mongo(_connectionString) ) {

// 打开连接

mongo.Connect();

// 切换到指定的数据库

var db = mongo.GetDatabase(_dbName);

// 根据类型获取相应的集合

var collection = db.GetCollection<User>();

// 向集合中插入对象

collection.Insert(customer);

}

}

删除数据

[csharp] view plaincopy

public void Delete(string UId)

{

using( Mongo mongo = new Mongo(_connectionString) ) {

mongo.Connect();

var db = mongo.GetDatabase(_dbName);

var collection = db.GetCollection<Customer>();

// 从集合中删除指定的对象

collection.Remove(x => x.UID == UId);

}

}


修改数据

[csharp] view plaincopy

public void Update(User user)

{

using( Mongo mongo = new Mongo(_connectionString) ) {

mongo.Connect();

var db = mongo.GetDatabase(_dbName);

var collection = db.GetCollection<User>();

// 更新对象

collection.Update(user, (x => x.UID == user.UID));

}

}


获取数据

[csharp] view plaincopy

public User GetById(string UId)

{

using( Mongo mongo = new Mongo(_connectionString) ) {

mongo.Connect();

var db = mongo.GetDatabase(_dbName);

var collection = db.GetCollection<User>();

// 查询单个对象

return collection.FindOne(x => x.UID == UId);

}

}



调用

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

[csharp] view plaincopy

test t=new test();

//插入数据

t.Insert(User);

//更新数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: