Chakra.Core.MongoDb 5.0.0

Provider for MongoDB in Chakra.Core framework

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.

Chakra.Core.MongoDb

Provider for MongoDB in Chakra.Core framework

Please checkout README.md 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
[Repository]
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
SessionFactory.RegisterDefaultSession<MongoDbDataSession<ApplicationMongoDbOptions>>();
  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.

Chakra.Core.MongoDb

Provider for MongoDB in Chakra.Core framework

Please checkout README.md 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
[Repository]
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
SessionFactory.RegisterDefaultSession<MongoDbDataSession<ApplicationMongoDbOptions>>();
  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 History

Version Downloads Last updated
5.0.0 60 6/21/2021
3.0.4 91 6/21/2021
3.0.3 184 7/2/2020
3.0.2 481 3/24/2020
3.0.1 189 3/23/2020
3.0.0 274 2/1/2020
2.0.15 1,877 10/24/2019
2.0.11 961 10/30/2018
2.0.10 554 7/17/2018