MongoDB的官方C#驅動可以通過這個鏈接得到。鏈接提供了.msi和.zip兩種方式獲取驅動dll文件。C#驅動的基本數據庫連接,增刪改查操作。在使用C#驅動的時候,要在工程中添加"MongoDB.Bson.dll"和"MongoDB.Driver.dll"的引用。同時要在代碼中加入下面兩個using語句。
using?MongoDB.Bson.Serialization.Conventions;
using?MongoDB.Driver;
using?MongoDB.Driver.Linq;
using?System.Text;
注冊常用約定
public?static?void?RigisterConventions(){var?pack?=?new?ConventionPack();//元素名稱序列化成駝峰形式pack.Add(new?CamelCaseElementNameConvention());ConventionRegistry.Register("MyConventions",?pack,?x?=>?true);}
初始化Mongo幫助類
///?<summary>///?初始化Mongo幫助類///?</summary>///?<param?name="connectionString">連接字符串</param>///?<param?name="dbName">數據庫名</param>public?MongoHelper(string?connectionString,?string?dbName){_client?=?new?MongoClient(connectionString);_database?=?_client.GetDatabase(dbName);}
獲取集合
///?<summary>///?獲取集合///?</summary>///?<typeparam?name="T">集合類型</typeparam>///?<param?name="collectionName">集合名</param>///?<returns></returns>public?IMongoCollection<T>?GetCollection<T>(string?collectionName){return?_database.GetCollection<T>(collectionName);}
完整
///?<summary>///?MongoDB訪問幫助類///?</summary>public?class?MongoHelper{private?MongoClient?_client;private?IMongoDatabase?_database;///?<summary>///??注冊常用約定///?</summary>public?static?void?RigisterConventions(){var?pack?=?new?ConventionPack();//元素名稱序列化成駝峰形式pack.Add(new?CamelCaseElementNameConvention());ConventionRegistry.Register("MyConventions",?pack,?x?=>?true);}///?<summary>///?初始化Mongo幫助類///?</summary>///?<param?name="connectionString">連接字符串</param>///?<param?name="dbName">數據庫名</param>public?MongoHelper(string?connectionString,?string?dbName){_client?=?new?MongoClient(connectionString);_database?=?_client.GetDatabase(dbName);}///?<summary>///?數據庫///?</summary>public?IMongoDatabase?Db?=>?_database;///?<summary>///?獲取集合///?</summary>///?<typeparam?name="T">集合類型</typeparam>///?<param?name="collectionName">集合名</param>///?<returns></returns>public?IMongoCollection<T>?GetCollection<T>(string?collectionName){return?_database.GetCollection<T>(collectionName);}///?<summary>///?獲取Queryable對象///?</summary>///?<typeparam?name="T">對象類型</typeparam>///?<param?name="collectionName">集合名</param>///?<returns></returns>public?IMongoQueryable<T>?GetQueryable<T>(string?collectionName){return?GetCollection<T>(collectionName).AsQueryable();}///?<summary>///?模糊查詢轉換特殊字符:正則表達式有以下特殊字符。需要轉義??* . ? +?$?^?[?]?(?)?{?}?|?\?////?如:{"phone":/U9G\/XoDNo8ozbwbxal\+Qzg==/}///?</summary>///?<param?name="str"></param>///?<returns></returns>public?static?string?ChangeSpecialCharacter(string?str){if?(string.IsNullOrEmpty(str))return?str;StringBuilder?retValue?=?new?StringBuilder();string?str1?=?"*.?+$^[](){}|\\/";for?(int?i?=?0;?i?<?str.Length;?i++){string?ss?=?str[i].ToString();if?(str1.Contains(ss)){ss?=?"\\"?+?ss;}retValue.Append(ss);}return?retValue.ToString();}