Skip to content

Commit a3eddc4

Browse files
committed
fix issue with mongodb mapping
1 parent ffa789b commit a3eddc4

36 files changed

Lines changed: 1160 additions & 196 deletions

samples/EntityFramework/src/Tracker.Client/Services/ServiceRegistration.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,12 @@ public static void Register(IServiceCollection services, ISet<string> tags)
3939
if (tags.Contains("WebAssembly"))
4040
{
4141
services
42-
.AddHttpClient<RemoteDispatcher>((sp, client) =>
42+
.AddRemoteDispatcher((sp, client) =>
4343
{
4444
var hostEnvironment = sp.GetRequiredService<IOptions<EnvironmentOptions>>();
4545
client.BaseAddress = new Uri(hostEnvironment.Value.BaseAddress);
4646
})
4747
.AddHttpMessageHandler<ProgressBarHandler>();
48-
49-
services.AddRemoteDispatcher();
5048
}
5149

5250
if (tags.Contains("Server"))

samples/EntityFramework/src/Tracker.Host/Tracker.Host.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.4.1" />
15+
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.4.2" />
1616
</ItemGroup>
1717

1818
<ItemGroup>

samples/EntityFramework/src/Tracker.Web/Tracker.Web.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
<ItemGroup>
1818
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.8" />
19-
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.4.1" />
19+
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.4.2" />
2020
<PackageReference Include="Microsoft.Identity.Web" Version="3.14.0" />
2121
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
2222
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />

src/Arbiter.CommandQuery.MongoDB/Arbiter.CommandQuery.MongoDB.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="MongoDB.Abstracts" Version="6.5.0" />
10+
<PackageReference Include="MongoDB.Abstracts" Version="6.6.0" />
1111
</ItemGroup>
1212

1313
<ItemGroup>

src/Arbiter.CommandQuery.MongoDB/Handlers/EntityIdentifiersQueryHandler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Arbiter.CommandQuery.Definitions;
2+
using Arbiter.CommandQuery.Extensions;
23
using Arbiter.CommandQuery.Queries;
34

45
using Microsoft.Extensions.Logging;
@@ -44,12 +45,11 @@ public EntityIdentifiersQueryHandler(ILoggerFactory loggerFactory, TRepository r
4445

4546
var keys = new HashSet<TKey>(request.Ids);
4647

47-
var results = await Repository.Collection
48+
return await Repository.Collection
4849
.AsQueryable()
4950
.Where(p => keys.Contains(p.Id))
51+
.ProjectTo<TEntity, TReadModel>(Mapper)
5052
.ToListAsync(cancellationToken)
5153
.ConfigureAwait(false);
52-
53-
return Mapper.Map<IList<TEntity>, IReadOnlyCollection<TReadModel>>(results);
5454
}
5555
}

src/Arbiter.CommandQuery.MongoDB/Handlers/EntityPagedQueryHandler.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@ protected virtual async ValueTask<IReadOnlyCollection<TReadModel>> QueryPaged(En
117117
if (entityQuery.Page > 0 && entityQuery.PageSize > 0)
118118
queryable = queryable.Page(entityQuery.Page, entityQuery.PageSize);
119119

120-
var results = await queryable.ToListAsync(cancellationToken).ConfigureAwait(false);
121-
122-
return Mapper.Map<IList<TEntity>, IReadOnlyCollection<TReadModel>>(results);
120+
return await queryable
121+
.ProjectTo<TEntity, TReadModel>(Mapper)
122+
.ToListAsync(cancellationToken)
123+
.ConfigureAwait(false);
123124
}
124125
}

src/Arbiter.CommandQuery.MongoDB/Handlers/EntitySelectQueryHandler.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,10 @@ protected virtual ValueTask<IQueryable<TEntity>> BuildQuery(EntitySelectQuery<TR
8484
/// <returns>A collection of read models.</returns>
8585
protected virtual async ValueTask<IReadOnlyCollection<TReadModel>> QueryList(EntitySelectQuery<TReadModel> request, IQueryable<TEntity> query, CancellationToken cancellationToken)
8686
{
87-
var results = await query
87+
return await query
8888
.Sort(request?.Select?.Sort)
89+
.ProjectTo<TEntity, TReadModel>(Mapper)
8990
.ToListAsync(cancellationToken)
9091
.ConfigureAwait(false);
91-
92-
return Mapper.Map<IList<TEntity>, IReadOnlyCollection<TReadModel>>(results);
9392
}
9493
}

test/Arbiter.CommandQuery.EntityFramework.Tests/Arbiter.CommandQuery.EntityFramework.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.8" />
2727
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.8" />
2828
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Version="17.14.2" />
29-
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.8.3" />
29+
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport" Version="1.8.4" />
3030
<PackageReference Include="Testcontainers.MsSql" Version="4.7.0" />
3131
<PackageReference Include="TestHost.Abstracts" Version="1.2.0" />
3232
<PackageReference Include="TUnit" Version="0.57.24" />

test/Arbiter.CommandQuery.MongoDB.Tests/Acceptance/AuditTests.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
using Arbiter.CommandQuery.Commands;
2+
using Arbiter.CommandQuery.Definitions;
23
using Arbiter.CommandQuery.MongoDB.Tests.Data.Entities;
34
using Arbiter.CommandQuery.MongoDB.Tests.Domain.Models;
45
using Arbiter.CommandQuery.Queries;
56
using Arbiter.Mediation;
67

7-
using AutoMapper;
8-
98
using Microsoft.Extensions.DependencyInjection;
109

1110
using MongoDB.Bson;
@@ -79,7 +78,7 @@ public async Task FullTest()
7978
patchResult.Content.Should().Be("Patch Update");
8079

8180
// Update Entity
82-
var updateModel = mapper.Map<AuditUpdateModel>(patchResult);
81+
var updateModel = mapper.Map<AuditReadModel, AuditUpdateModel>(patchResult);
8382
updateModel.Content = "Update Command";
8483

8584
var updateCommand = new EntityUpdateCommand<string, AuditUpdateModel, AuditReadModel>(MockPrincipal.Default, key, updateModel);

test/Arbiter.CommandQuery.MongoDB.Tests/Acceptance/PriorityTests.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1+
using Arbiter.CommandQuery.Definitions;
12
using Arbiter.CommandQuery.MongoDB.Tests.Constants;
23
using Arbiter.CommandQuery.MongoDB.Tests.Domain.Models;
34
using Arbiter.CommandQuery.Queries;
45
using Arbiter.Mediation;
56

6-
using AutoMapper;
7-
87
using Microsoft.Extensions.DependencyInjection;
98

109
namespace Arbiter.CommandQuery.MongoDB.Tests.Acceptance;

0 commit comments

Comments
 (0)