Chakra.Core.MongoDb 5.0.0

Install-Package Chakra.Core.MongoDb -Version 5.0.0
dotnet add package Chakra.Core.MongoDb --version 5.0.0
<PackageReference Include="Chakra.Core.MongoDb" Version="5.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Chakra.Core.MongoDb --version 5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Chakra.Core.MongoDb, 5.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Chakra.Core.MongoDb as a Cake Addin
#addin nuget:?package=Chakra.Core.MongoDb&version=5.0.0

// Install Chakra.Core.MongoDb as a Cake Tool
#tool nuget:?package=Chakra.Core.MongoDb&version=5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.


Provider for MongoDB in Chakra.Core framework

Please checkout on "Chakra.Core" package, first... Then:

  1. Define your own MongoDbOptions implementation like that:
public class ApplicationMongoDbOptions: IMongoDbOptions
    public string ConnectionString { get; set; }

    public ApplicationMongoDbOptions()
        //Set connection string from application configuration, xml files, hardcoded, etc.
        ConnectionString = "mongodb://dbusername:dbpassword@servername/databasename?authSource=authenticationdatabase";
  1. Implement a concrete class for a storage provider on MongoDb Core
public class MongoDbProductRepository: MongoDbRepositoryBase<Product, ApplicationMongoDbOptions>, IProductRepository
    public MongoDbProductRepository(IDataSession dataSession) 
        : base(dataSession) { }

    public IList<Product> FetchAvailableProductsInPeriod(DateTime from, DateTime to) 
        //TODO...Insert here the method implementation
		//ex: => DataSession.Database.GetCollection<Product>().Where(p => ...
  1. Register default data session for application
  1. Open session on storage (ex. database) using default configured provider, resolve repository interface using registered storage provider and obtain concrete repository implementation
using (IDataSession dataSession = SessionFactory.OpenSession())
    var productRepository = dataSession.ResolveRepository<IProductRepository>();

    var entities = productRepository.FetchAvailableProductsInPeriod(
        new DateTime(2013, 8, 1), DateTime.Now);

You have the opportunity to switch a provider (ex. from fake to Entity Framework, from NHibernate to MongoDb) changing a single line of code on your application that can be really database agnostic and every single part can be tested in its own isolated context.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.0.0 83 6/21/2021
3.0.4 114 6/21/2021
3.0.3 216 7/2/2020
3.0.2 506 3/24/2020
3.0.1 217 3/23/2020
3.0.0 298 2/1/2020
2.0.15 1,903 10/24/2019
2.0.11 994 10/30/2018
2.0.10 577 7/17/2018