如果asp.net 想使用MongoDB,.net没有自带的链接类。得用第三方或官方的链接类。
当然有很多种驱动,我就不一一介绍了。
今天我就介绍一个我比较常用的驱动-----MongoDB。
接下来,我们还要去下载MongoDB的C#驱动,它可以让我们在C#中使用MongoDB 。下载地址: https://github.com/samus/mongodb-csharp
我们在C#访问MongoDB所需的驱动就是项目MongoDB了。编译这个项目就能得到了,文件名:MongoDB.dll
首先先启动MongoDB,我在之前的文章里已经介绍过在这里就不做介绍了。
建立一个实体类 用户表
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
private string _connectionString = "Server=127.0.0.1"; //数据库服务器ip或地址 private string _dbName = "dbmy";
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); } }
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); } }
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)); } }
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的类。
test t=new test(); //插入数据 t.Insert(User); //更新数据 t.Update(User); //删除数据 t.Delete(Uid);