diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index fa75ada..191e32f 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,13 +3,13 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2020.3.3",
+ "version": "2021.1.3",
"commands": [
"jb"
]
},
"regitlint": {
- "version": "2.1.3",
+ "version": "2.1.4",
"commands": [
"regitlint"
]
@@ -21,10 +21,10 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "4.8.7",
+ "version": "4.8.11",
"commands": [
"reportgenerator"
]
}
}
-}
+}
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index c2d2eee..b7265fa 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,13 +2,13 @@
netcoreapp3.1
3.1.*
- 4.1.*
- 2.11.*
+ 4.2.*
+ 2.12.*
$(SolutionDir)CodingGuidelines.ruleset
-
+
@@ -25,6 +25,7 @@
3.0.3
5.10.3
4.16.1
- 2.4.1
+ 2.4.*
+ 16.10.0
diff --git a/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj b/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj
index 6f778c9..166acc8 100644
--- a/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj
+++ b/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj
@@ -23,6 +23,6 @@
-
+
diff --git a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs
index f38cbb8..6660e26 100644
--- a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs
@@ -18,6 +18,7 @@ public sealed class MongoQueryableBuilder : QueryableBuilder
{
private readonly Type _elementType;
private readonly Type _extensionType;
+ private readonly LambdaParameterNameFactory _nameFactory;
private readonly LambdaScopeFactory _lambdaScopeFactory;
public MongoQueryableBuilder(Expression source, Type elementType, Type extensionType, LambdaParameterNameFactory nameFactory,
@@ -25,11 +26,9 @@ public MongoQueryableBuilder(Expression source, Type elementType, Type extension
LambdaScopeFactory lambdaScopeFactory = null)
: base(source, elementType, extensionType, nameFactory, resourceFactory, resourceContextProvider, entityModel, lambdaScopeFactory)
{
- ArgumentGuard.NotNull(elementType, nameof(elementType));
- ArgumentGuard.NotNull(extensionType, nameof(extensionType));
-
_elementType = elementType;
_extensionType = extensionType;
+ _nameFactory = nameFactory;
_lambdaScopeFactory = lambdaScopeFactory ?? new LambdaScopeFactory(nameFactory);
}
@@ -37,7 +36,7 @@ protected override Expression ApplyFilter(Expression source, FilterExpression fi
{
using LambdaScope lambdaScope = _lambdaScopeFactory.CreateScope(_elementType);
- var builder = new MongoWhereClauseBuilder(source, lambdaScope, _extensionType);
+ var builder = new MongoWhereClauseBuilder(source, lambdaScope, _extensionType, _nameFactory);
return builder.ApplyWhere(filter);
}
}
diff --git a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs
index ed84754..da560be 100644
--- a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs
@@ -10,8 +10,8 @@ namespace JsonApiDotNetCore.MongoDb.Queries.Internal.QueryableBuilding
[PublicAPI]
public class MongoWhereClauseBuilder : WhereClauseBuilder
{
- public MongoWhereClauseBuilder(Expression source, LambdaScope lambdaScope, Type extensionType)
- : base(source, lambdaScope, extensionType)
+ public MongoWhereClauseBuilder(Expression source, LambdaScope lambdaScope, Type extensionType, LambdaParameterNameFactory nameFactory)
+ : base(source, lambdaScope, extensionType, nameFactory)
{
}
diff --git a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
index 87171e0..62cbc5c 100644
--- a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
@@ -1,7 +1,8 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using JsonApiDotNetCore.Configuration;
using JsonApiDotNetCore.MongoDb.Resources;
using JsonApiDotNetCore.Queries;
+using JsonApiDotNetCore.Queries.Internal;
using JsonApiDotNetCore.Resources;
using JsonApiDotNetCore.Resources.Annotations;
using JsonApiDotNetCore.Serialization.Building;
@@ -14,8 +15,10 @@ public sealed class IgnoreRelationshipsResponseResourceObjectBuilder : ResponseR
{
public IgnoreRelationshipsResponseResourceObjectBuilder(ILinkBuilder linkBuilder, IIncludedResourceObjectBuilder includedBuilder,
IEnumerable constraintProviders, IResourceContextProvider resourceContextProvider,
- IResourceDefinitionAccessor resourceDefinitionAccessor, IResourceObjectBuilderSettingsProvider settingsProvider)
- : base(linkBuilder, includedBuilder, constraintProviders, resourceContextProvider, resourceDefinitionAccessor, settingsProvider)
+ IResourceDefinitionAccessor resourceDefinitionAccessor, IResourceObjectBuilderSettingsProvider settingsProvider,
+ IEvaluatedIncludeCache evaluatedIncludeCache)
+ : base(linkBuilder, includedBuilder, constraintProviders, resourceContextProvider, resourceDefinitionAccessor, settingsProvider,
+ evaluatedIncludeCache)
{
}
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj
index 5afb727..dd43933 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj
@@ -14,16 +14,14 @@
-
+
+
-
-
+
+
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
+
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs
index 588f84c..aa0aa17 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs
@@ -47,7 +47,12 @@ private static async Task GetFormattedContentAsync(HttpResponseMessage r
{
if (text.Length > 0)
{
- return JsonConvert.DeserializeObject(text).ToString();
+ var json = JsonConvert.DeserializeObject(text);
+
+ if (json != null)
+ {
+ return json.ToString();
+ }
}
}
#pragma warning disable AV1210 // Catch a specific exception instead of Exception, SystemException or ApplicationException