Finbuckle.MultiTenant.MongoFramework
0.6.0
dotnet add package Finbuckle.MultiTenant.MongoFramework --version 0.6.0
NuGet\Install-Package Finbuckle.MultiTenant.MongoFramework -Version 0.6.0
<PackageReference Include="Finbuckle.MultiTenant.MongoFramework" Version="0.6.0" />
paket add Finbuckle.MultiTenant.MongoFramework --version 0.6.0
#r "nuget: Finbuckle.MultiTenant.MongoFramework, 0.6.0"
// Install Finbuckle.MultiTenant.MongoFramework as a Cake Addin #addin nuget:?package=Finbuckle.MultiTenant.MongoFramework&version=0.6.0 // Install Finbuckle.MultiTenant.MongoFramework as a Cake Tool #tool nuget:?package=Finbuckle.MultiTenant.MongoFramework&version=0.6.0
Finbuckle.MultiTenant.MongoFramework
This is an integration of MongoFramework and Finbuckle.MultiTenant.
Features
Working samples are provided for all of the following.
MongoTenantStore
Uses MongoFramework to provide a store for Finbuckle.MultiTenant.
Any MongoDbContext can be provided via injection to this store.
It does not require a specific interface or base class.
Isolated Data Per Tenant
Provides isolated data, either with shared data or database per tenant or both.
The MongoTenantStore allows for an option DefaultConnectionString that is added to any tenants that do not have their own ConnectionString
The MongoPerTenantConnection then accepts the ITenantInfo and uses its ConnectionString to connect to MongoDb.
The MongoPerDbContext passes along the Id from ITenantInfo to be used with a MongoTenantContext That context (in MongoFramework) provides isolated data access based on the tenant Id.
MongoDb optimized TenantInfo
TenantInfo optimized for MongoDb (Index on identifier, "Tenants" table name)
This is completely optional, but provided as a convenience. You can use any ITenantInfo you'd like.
Samples
- DataIsolationSample - how to use the data isolation features
- MongoTenantStoreSample - how to implement MongoTenantStore
- CombinedSample - how to use both the MongoTenantStore and data isolation in one project
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Finbuckle.MultiTenant (>= 6.11.1)
- MongoFramework (>= 0.29.0)
-
net7.0
- Finbuckle.MultiTenant (>= 6.11.1)
- MongoFramework (>= 0.29.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.