MongoDbContext 1.0.1

There is a newer version of this package available.
See the version list below for details.
Install-Package MongoDbContext -Version 1.0.1
dotnet add package MongoDbContext --version 1.0.1
<PackageReference Include="MongoDbContext" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MongoDbContext --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MongoDbContext, 1.0.1"
#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 MongoDbContext as a Cake Addin
#addin nuget:?package=MongoDbContext&version=1.0.1

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

MongoDbContext

MongoDbContext enables .NET developers to work with a MongoDb database using .NET objects.

How it works?

Install-Package MongoDbContext

1 - Creating documents.


    public class Tweet :  Document
    {
        public string Message { get; set; }
    }
    
    public class Movie : Document
    { 
        public string Title { get; set; }
        public string Category { get; set; }
        public int Minutes { get; set; }
    }
    

1 - Inherits from the ElasticSearchContext class.


    public class SocialContext : MongoDbContext
    {
        public SocialContext(MongoDbOptions<SocialContext> options) : base(options)
        {
        }

        public override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Document<Tweet>()
                .WithDatabase("socialDb")
                .WithCollection("tweets");

            modelBuilder.Document<Movie>()
                .WithDatabase("socialDb")
                .WithCollection("movies");
        }

        public MongoCollection<Tweet> Tweets { get; set; }

        public MongoCollection<Movie> Movies { get; set; }
    }
    

2 - Dependency Injection


  var services = new ServiceCollection();
  services.AddMongoDbContext<SocialContext>();
    

3 - Configuring

SocialContext has a TRANSIENT lifestyle and your configuration has a SINGLETON lifestyle, both by default is SCOPED lifestyle.

You can choose by connection string or a custom configuration from MongoClientSettings.

Azure Cosmos Db configuration is enabled in 1.0.1.


  var services = new ServiceCollection();
services.AddMongoDbContext<TContext>(options =>
{
    //options.ConnectionString("mongodb://localhost:27017");
    options.ConnectionString("mongodb://<serviceName>:<PRIMARYPASSWORD>@<serviceName>.documents.azure.com:10255/?ssl=true&replicaSet=globaldb");
}, ServiceLifetime.Transient, ServiceLifetime.Singleton);
    

NOTE:

  • Azure Cosmos Db only for CRUD Operations.
  • Map/Reduce is not supported in Azure Cosmos Db.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on MongoDbContext:

Package Downloads
MongoDbContext.Extensions.DependencyInjection

MongoDbContext enables .NET developers to work with a MongoDb database using .NET objects.

MongoDbContext.Autofac

MongoDbContext enables .NET developers to work with a MongoDb database using .NET objects.

MongoDbContext.CastleWindsor

MongoDbContext enables .NET developers to work with a MongoDb database using .NET objects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.6.1 3,742 11/28/2019
4.0.6 438 7/28/2019
4.0.5.4 911 7/13/2019
4.0.5.3-beta 365 7/2/2019
4.0.5.2-beta 348 6/30/2019
4.0.5.1-beta 358 6/30/2019
4.0.5-beta 354 6/30/2019
4.0.4 738 6/8/2019
4.0.3 651 1/19/2019
4.0.0 1,038 12/25/2018
3.0.3 595 12/23/2018
3.0.2 636 9/9/2018
2.1.0 687 7/22/2018
2.0.0 714 7/19/2018
1.0.1 689 7/2/2018
1.0.0 678 7/1/2018