標籤:
首先:驅動
如果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);
-
- //更新資料
asp.net 使用 MongoDB 初體驗