【转】ABP源码分析二十九:ABP.MongoDb
這個Module通過建立一個MongoDbRepositoryBase<TEntity> 基類,封裝了對MongoDb數據庫的操作。 這個module通過引用MongoDB.Driver,MongoDB.Bson,MongoDB.Driver.Core,MongoDB.Driver.Legacy類庫來操作MongoDb. 當項目不需要依賴于關系型數據庫時,可以考慮引入MongoDB以及這個module。
?
ABP.MongoDb模塊涉及到的接口和類如下,結構清晰,簡單。
IAbpMongoDbModuleConfiguration/AbpMongoDbModuleConfiguration: 封裝了ConnectionString和DatatabaseName兩個屬性,
AbpMongoDbModule:完成module的初始化:register AbpMongoDbModuleConfiguration 和 RegisterAssemblyByConvention (前面章節已有說明)
?
?
IMongoDatabaseProvider: 該接口定義了一個返回MongoDatabase對象的方法。
UnitOfWorkMongoDatabaseProvider:實現了IMongoDatabaseProvider接口,從MongoDbUnitOfWork實例中獲取MongoDatabase對象。
?
MongoDbUnitOfWork:根據AbpMongoDbModuleConfiguration,創建MongoDatabase實例
MongoDbRepositoryBase<TEntity, TPrimaryKey>:針對MongoDb創建的倉儲器,支持主鍵是泛型的Entity.
MongoDbRepositoryBase<TEntity>:針對MongoDb創建的倉儲器,支持主鍵是int類型的Entity.
返回ABP源碼分析系列文章目錄
?
老大,你在第一篇,整體目錄結構說MongoDB這個模塊是個雞肋,具體原因沒說,這里也沒寫,到底是什么哇?
原因請參見: ABP源碼分析十:Unit Of Work
總結
以上是生活随笔為你收集整理的【转】ABP源码分析二十九:ABP.MongoDb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可转债基金和可转债的区别,划重点啦!
- 下一篇: 【转】ABP源码分析五:ABP初始化全过