Skip to content

Commit 8ce86e7

Browse files
Use ActivatorUtilities.CreateInstance to Support Proper Dependency Injection (#23)
* fix(dependency-injection): use ActivatorUtilities.CreateInstance to properly handle dependency injection * Added the missing (TImplementation) cast. * New library version.
1 parent 12cec09 commit 8ce86e7

12 files changed

Lines changed: 34 additions & 33 deletions

File tree

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 Fernando Luiz de Lima
3+
Copyright (c) 2025 Fernando Luiz de Lima
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,34 @@ If you like or are using this project to learn or start your solution, please gi
1010

1111
[![build-and-publish Workflow Status](https://github.com/ffernandolima/mongo-db-data-access/actions/workflows/build-and-publish.yml/badge.svg?branch=main)](https://github.com/ffernandolima/mongo-db-data-access/actions/workflows/build-and-publish.yml/branch=main)
1212

13-
| Package | NuGet |
14-
| ------- | ------- |
15-
| MongoDB.Data.Infrastructure.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Infrastructure.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.Infrastructure.Abstractions/1.8.1) |
16-
| MongoDB.Data.QueryBuilder.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.QueryBuilder.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.QueryBuilder.Abstractions/1.8.1) |
17-
| MongoDB.Data.Repository.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Repository.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.Repository.Abstractions/1.8.1) |
18-
| MongoDB.Data.UnitOfWork.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.UnitOfWork.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.UnitOfWork.Abstractions/1.8.1) |
19-
| ------- | ------- |
20-
| MongoDB.Data.Generators | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Generators)](https://www.nuget.org/packages/MongoDB.Data.Generators/1.8.1) |
21-
| MongoDB.Data.Infrastructure | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Infrastructure)](https://www.nuget.org/packages/MongoDB.Data.Infrastructure/1.8.1) |
22-
| MongoDB.Data.QueryBuilder | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.QueryBuilder)](https://www.nuget.org/packages/MongoDB.Data.QueryBuilder/1.8.1) |
23-
| MongoDB.Data.Repository | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Repository)](https://www.nuget.org/packages/MongoDB.Data.Repository/1.8.1) |
24-
| MongoDB.Data.UnitOfWork | [![Nuget](https://img.shields.io/badge/nuget-v1.8.1-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.UnitOfWork)](https://www.nuget.org/packages/MongoDB.Data.UnitOfWork/1.8.1) |
13+
| Package | NuGet |
14+
|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
15+
| MongoDB.Data.Infrastructure.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Infrastructure.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.Infrastructure.Abstractions/1.8.2) |
16+
| MongoDB.Data.QueryBuilder.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.QueryBuilder.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.QueryBuilder.Abstractions/1.8.2) |
17+
| MongoDB.Data.Repository.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Repository.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.Repository.Abstractions/1.8.2) |
18+
| MongoDB.Data.UnitOfWork.Abstractions | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.UnitOfWork.Abstractions)](https://www.nuget.org/packages/MongoDB.Data.UnitOfWork.Abstractions/1.8.2) |
19+
|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
20+
| MongoDB.Data.Generators | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Generators)](https://www.nuget.org/packages/MongoDB.Data.Generators/1.8.2) |
21+
| MongoDB.Data.Infrastructure | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Infrastructure)](https://www.nuget.org/packages/MongoDB.Data.Infrastructure/1.8.2) |
22+
| MongoDB.Data.QueryBuilder | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.QueryBuilder)](https://www.nuget.org/packages/MongoDB.Data.QueryBuilder/1.8.2) |
23+
| MongoDB.Data.Repository | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.Repository)](https://www.nuget.org/packages/MongoDB.Data.Repository/1.8.2) |
24+
| MongoDB.Data.UnitOfWork | [![Nuget](https://img.shields.io/badge/nuget-v1.8.2-blue) ![Nuget](https://img.shields.io/nuget/dt/MongoDB.Data.UnitOfWork)](https://www.nuget.org/packages/MongoDB.Data.UnitOfWork/1.8.2) |
2525

2626
## Installation
2727

2828
MongoDB.DataAccess is available on Nuget.
2929

3030
```
31-
Install-Package MongoDB.Data.Infrastructure.Abstractions -Version 1.8.1
32-
Install-Package MongoDB.Data.QueryBuilder.Abstractions -Version 1.8.1
33-
Install-Package MongoDB.Data.Repository.Abstractions -Version 1.8.1
34-
Install-Package MongoDB.Data.UnitOfWork.Abstractions -Version 1.8.1
35-
36-
Install-Package MongoDB.Data.Generators -Version 1.8.1
37-
Install-Package MongoDB.Data.Infrastructure -Version 1.8.1
38-
Install-Package MongoDB.Data.QueryBuilder -Version 1.8.1
39-
Install-Package MongoDB.Data.Repository -Version 1.8.1
40-
Install-Package MongoDB.Data.UnitOfWork -Version 1.8.1
31+
Install-Package MongoDB.Data.Infrastructure.Abstractions -Version 1.8.2
32+
Install-Package MongoDB.Data.QueryBuilder.Abstractions -Version 1.8.2
33+
Install-Package MongoDB.Data.Repository.Abstractions -Version 1.8.2
34+
Install-Package MongoDB.Data.UnitOfWork.Abstractions -Version 1.8.2
35+
36+
Install-Package MongoDB.Data.Generators -Version 1.8.2
37+
Install-Package MongoDB.Data.Infrastructure -Version 1.8.2
38+
Install-Package MongoDB.Data.QueryBuilder -Version 1.8.2
39+
Install-Package MongoDB.Data.Repository -Version 1.8.2
40+
Install-Package MongoDB.Data.UnitOfWork -Version 1.8.2
4141
```
4242

4343
**P.S.: MongoDB.Data.UnitOfWork depends on the other packages, so installing this package is enough.**

src/MongoDB.Generators/MongoDB.Generators.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<RepositoryType>git</RepositoryType>
1717
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;IdGenerators;Id Generators;id-generators</PackageTags>
1818
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19-
<Version>1.8.1</Version>
19+
<Version>1.8.2</Version>
2020
<LangVersion>latest</LangVersion>
2121
</PropertyGroup>
2222

src/MongoDB.Infrastructure.Abstractions/MongoDB.Infrastructure.Abstractions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<RepositoryType>git</RepositoryType>
1818
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;Infrastructure;Abstractions</PackageTags>
1919
<PackageLicenseExpression>MIT</PackageLicenseExpression>
20-
<Version>1.8.1</Version>
20+
<Version>1.8.2</Version>
2121
<LangVersion>latest</LangVersion>
2222
</PropertyGroup>
2323

src/MongoDB.Infrastructure/Extensions/MongoDbInfrastructureServiceCollectionExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public static IServiceCollection AddMongoDbContext<TService, TImplementation>(
5858
databaseSettings,
5959
dbContextOptions ?? CreateDbContextOptions<TService, TImplementation>(clientSettings));
6060

61-
var context = (TImplementation)Activator.CreateInstance(
61+
var context = (TImplementation)ActivatorUtilities.CreateInstance(
62+
provider,
6263
typeof(TImplementation),
6364
connection.Client,
6465
connection.Database,

src/MongoDB.Infrastructure/MongoDB.Infrastructure.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<RepositoryType>git</RepositoryType>
1717
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;Infrastructure</PackageTags>
1818
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19-
<Version>1.8.1</Version>
19+
<Version>1.8.2</Version>
2020
<LangVersion>latest</LangVersion>
2121
</PropertyGroup>
2222

src/MongoDB.QueryBuilder.Abstractions/MongoDB.QueryBuilder.Abstractions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<RepositoryType>git</RepositoryType>
1818
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;QueryBuilder;Query Builder;query-builder;Abstractions</PackageTags>
1919
<PackageLicenseExpression>MIT</PackageLicenseExpression>
20-
<Version>1.8.1</Version>
20+
<Version>1.8.2</Version>
2121
<LangVersion>latest</LangVersion>
2222
</PropertyGroup>
2323

src/MongoDB.QueryBuilder/MongoDB.QueryBuilder.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<RepositoryType>git</RepositoryType>
1717
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;QueryBuilder;Query Builder;query-builder</PackageTags>
1818
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19-
<Version>1.8.1</Version>
19+
<Version>1.8.2</Version>
2020
<LangVersion>latest</LangVersion>
2121
</PropertyGroup>
2222

src/MongoDB.Repository.Abstractions/MongoDB.Repository.Abstractions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<RepositoryType>git</RepositoryType>
1818
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;Repository;Abstractions</PackageTags>
1919
<PackageLicenseExpression>MIT</PackageLicenseExpression>
20-
<Version>1.8.1</Version>
20+
<Version>1.8.2</Version>
2121
<LangVersion>latest</LangVersion>
2222
</PropertyGroup>
2323

src/MongoDB.Repository/MongoDB.Repository.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<RepositoryType>git</RepositoryType>
1717
<PackageTags>MongoDB;Mongo DB;mongo-db;Data;Repository</PackageTags>
1818
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19-
<Version>1.8.1</Version>
19+
<Version>1.8.2</Version>
2020
<LangVersion>latest</LangVersion>
2121
</PropertyGroup>
2222

0 commit comments

Comments
 (0)