项目作者: etmendz

项目描述 :
Provides a generic Mendz.Data-aware context for MongoDB.
高级语言: C#
项目地址: git://github.com/etmendz/Mendz.Data.MongoDB.git
创建时间: 2017-10-12T15:07:33Z
项目社区:https://github.com/etmendz/Mendz.Data.MongoDB

开源协议:Other

下载


Mendz.Data.MongoDB

Provides a generic Mendz.Data-aware context for MongoDB. Wiki

Namespace

Mendz.Data.MongoDB

Contents

Name Description
MongoDbDataContext Provides the database context for MongoDB.
MongoDbDataSettingOption Provides the data setting options for MongoDB.

MongoDbDataContext

Mendz.Data.Common defines an IDbDataContext interface, which is implemented as GenericDbDataContextBase.
MongoDbDataContext derives from GenericDbDataContextBase, which requires the abstract BuildContext() method to be implemented.
The internal implementation uses Mendz.Data.DataSettingOptions to build the data context.
MongoDbDataContext.BuildContext() will look for MongoDbDataSettingOption.Client and MongoDbDataSettingOption.Context.

MongoDbDataContext assumes that appsettings.json contains an entry/section for DataSettings.

  1. {
  2. "DataSettings": {
  3. "ConnectionStrings": {
  4. "MongoDBClient" : "MongoDB client specification",
  5. "MongoDBContext" : "MongoDB context specification"
  6. }
  7. }
  8. }

In the application startup or initialization routine, the DataSettings should be loaded into DataSettingOptions as follows:

  1. public Startup(IConfiguration configuration)
  2. {
  3. Configuration = configuration;
  4. DataSettingOptions.Initialize(Configuration.GetSection("DataSettings").Get<DataSettings>());
  5. }

Mendz.Data-aware repositories implement DbRepositoryBase, which expects a Mendz.Data-aware data context.
Using MongoDbDataContext, a repository skeleton can look like the following:

  1. public class TestRepository : DbRepositoryBase<MongoDbDataContext>
  2. {
  3. ...
  4. }

Using Mendz.Data can shield the application from “knowing” about the data context.
The application does not need to reference Mendz.Data.MongoDB.
The application can reference only Mendz.Data, and the models and repositories libraries.

NuGet It…

https://www.nuget.org/packages/Mendz.Data.MongoDB/