Fork me on GitHub

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源码分析系列文章目录

posted @ 2016-04-12 21:07 ZHK的博客 阅读(...) 评论(...) 编辑 收藏