Skip to content

Commit dbb65ad

Browse files
authored
AutoMapperv13 (#207)
* AutoMapper v13. Other nuget packages minus EF packages. * InMemory to LocalDb. Fix warning.s.
1 parent 498b960 commit dbb65ad

File tree

15 files changed

+213
-183
lines changed

15 files changed

+213
-183
lines changed

AutoMapper.AspNetCore.OData.EF6/AutoMapper.AspNetCore.OData.EF6.csproj

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<PackageId>AutoMapper.AspNetCore.OData.EF6</PackageId>
77
<Description>Creates LINQ expressions from ODataQueryOptions and executes the query.</Description>
88
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
9-
<PackageReleaseNotes>Supporting AutoMapper v12.</PackageReleaseNotes>
9+
<PackageReleaseNotes>Supporting AutoMapper v13 (EF Core only).</PackageReleaseNotes>
1010
<PackageTags>linq expressions odata efcore</PackageTags>
1111
<PackageIcon>icon.png</PackageIcon>
1212
<RepositoryUrl>https://github.com/AutoMapper/AutoMapper.Extensions.OData</RepositoryUrl>
@@ -56,14 +56,16 @@
5656

5757
<ItemGroup>
5858
<PackageReference Include="AutoMapper.Extensions.ExpressionMapping" Version="[6.0.4,7.0.0)" />
59-
<PackageReference Include="EntityFramework" Version="6.3.0" />
59+
<PackageReference Include="EntityFramework" Version="6.4.4" />
6060
<PackageReference Include="LogicBuilder.Expressions.Utils" Version="[6.0.0,7.0.0)" />
61-
<PackageReference Include="Microsoft.AspNetCore.OData" Version="8.0.6" />
62-
<PackageReference Include="MinVer" Version="2.5.0">
61+
<PackageReference Include="Microsoft.AspNetCore.OData" Version="8.2.4" />
62+
<PackageReference Include="MinVer" Version="4.3.0">
6363
<PrivateAssets>all</PrivateAssets>
6464
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
6565
</PackageReference>
66-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
66+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
67+
<PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
68+
<PackageReference Include="System.Drawing.Common" Version="4.7.2" />
6769
</ItemGroup>
6870

6971
<ItemGroup>

AutoMapper.AspNetCore.OData.EFCore/AutoMapper.AspNetCore.OData.EFCore.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<PackageId>AutoMapper.AspNetCore.OData.EFCore</PackageId>
77
<Description>Creates LINQ expressions from ODataQueryOptions and executes the query.</Description>
88
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
9-
<PackageReleaseNotes>Supporting AutoMapper v12.</PackageReleaseNotes>
9+
<PackageReleaseNotes>Supporting AutoMapper v13 (EF Core only).</PackageReleaseNotes>
1010
<PackageTags>linq expressions odata efcore</PackageTags>
1111
<PackageIcon>icon.png</PackageIcon>
1212
<RepositoryUrl>https://github.com/AutoMapper/AutoMapper.Extensions.OData</RepositoryUrl>
@@ -28,14 +28,14 @@
2828
</ItemGroup>
2929

3030
<ItemGroup>
31-
<PackageReference Include="AutoMapper.Extensions.ExpressionMapping" Version="[6.0.4,7.0.0)" />
31+
<PackageReference Include="AutoMapper.Extensions.ExpressionMapping" Version="[7.0.0,8.0.0)" />
3232
<PackageReference Include="LogicBuilder.Expressions.Utils" Version="[6.0.0,7.0.0)" />
33-
<PackageReference Include="Microsoft.AspNetCore.OData" Version="8.0.6" />
34-
<PackageReference Include="MinVer" Version="2.5.0">
33+
<PackageReference Include="Microsoft.AspNetCore.OData" Version="8.2.4" />
34+
<PackageReference Include="MinVer" Version="4.3.0">
3535
<PrivateAssets>all</PrivateAssets>
3636
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3737
</PackageReference>
38-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
38+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
3939
</ItemGroup>
4040

4141
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
@@ -47,7 +47,7 @@
4747
</ItemGroup>
4848

4949
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
50-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
50+
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.2" />
5151
</ItemGroup>
5252

5353
<ItemGroup>

AutoMapper.OData.EF6.Tests/AutoMapper.OData.EF6.Tests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
11-
<PackageReference Include="xunit" Version="2.4.1" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
11+
<PackageReference Include="xunit" Version="2.7.0" />
12+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.7">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>
16-
<PackageReference Include="coverlet.collector" Version="3.1.0">
16+
<PackageReference Include="coverlet.collector" Version="6.0.0">
1717
<PrivateAssets>all</PrivateAssets>
1818
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1919
</PackageReference>

AutoMapper.OData.EFCore.Tests/AutoMapper.OData.EFCore.Tests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.0" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
12-
<PackageReference Include="xunit" Version="2.4.1" />
13-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
10+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.2" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
12+
<PackageReference Include="xunit" Version="2.7.0" />
13+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.7">
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1616
</PackageReference>

AutoMapper.OData.EFCore.Tests/GetQuerySelectTests.cs

Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,48 +15,20 @@
1515

1616
namespace AutoMapper.OData.EFCore.Tests
1717
{
18-
public class GetQuerySelectTests
18+
public class GetQuerySelectTests : IClassFixture<GetQuerySelectTestsFixture>
1919
{
20-
public GetQuerySelectTests()
20+
private readonly GetQuerySelectTestsFixture _fixture;
21+
22+
public GetQuerySelectTests(GetQuerySelectTestsFixture fixture)
2123
{
22-
Initialize();
24+
_fixture = fixture;
25+
serviceProvider = _fixture.ServiceProvider;
2326
}
2427

2528
#region Fields
26-
private IServiceProvider serviceProvider;
29+
private readonly IServiceProvider serviceProvider;
2730
#endregion Fields
2831

29-
private void Initialize()
30-
{
31-
IServiceCollection services = new ServiceCollection();
32-
IMvcCoreBuilder builder = new TestMvcCoreBuilder
33-
{
34-
Services = services
35-
};
36-
37-
builder.AddOData();
38-
services.AddDbContext<MyDbContext>
39-
(
40-
options =>
41-
{
42-
options.UseInMemoryDatabase("MyDbContext");
43-
options.UseInternalServiceProvider(new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider());
44-
},
45-
ServiceLifetime.Transient
46-
)
47-
.AddSingleton<IConfigurationProvider>(new MapperConfiguration(cfg => cfg.AddMaps(typeof(GetTests).Assembly)))
48-
.AddTransient<IMapper>(sp => new Mapper(sp.GetRequiredService<IConfigurationProvider>(), sp.GetService))
49-
.AddTransient<IApplicationBuilder>(sp => new ApplicationBuilder(sp))
50-
.AddRouting()
51-
.AddLogging();
52-
53-
serviceProvider = services.BuildServiceProvider();
54-
55-
MyDbContext context = serviceProvider.GetRequiredService<MyDbContext>();
56-
context.Database.EnsureCreated();
57-
DatabaseInitializer.SeedDatabase(context);
58-
}
59-
6032
[Fact]
6133
public async void OpsTenantSelectNameExpandBuildings()
6234
{
@@ -84,7 +56,7 @@ public async void OpsTenantExpandBuildingsFilterEqAndOrderBy_FirstBuildingHasVal
8456

8557
void Test(ICollection<OpsTenant> collection)
8658
{
87-
Assert.Equal(1, collection.Count);
59+
Assert.Single(collection);
8860
Assert.Equal(2, collection.First().Buildings.Count);
8961
Assert.NotNull(collection.First().Buildings.First().Name);
9062
Assert.NotEqual(default, collection.First().Buildings.First().Identity);
@@ -103,7 +75,7 @@ public async void BuildingSelectNameExpandBuilder_BuilderNameShouldBeSam()
10375

10476
void Test(ICollection<CoreBuilding> collection)
10577
{
106-
Assert.Equal(1, collection.Count);
78+
Assert.Single(collection);
10779
Assert.Equal("Sam", collection.First().Builder.Name);
10880
Assert.Equal(default, collection.First().Builder.Id);
10981
Assert.Null(collection.First().Builder.City);
@@ -122,7 +94,7 @@ public async void BuildingExpandBuilderSelectNamefilterEqAndOrderBy()
12294

12395
void Test(ICollection<CoreBuilding> collection)
12496
{
125-
Assert.Equal(1, collection.Count);
97+
Assert.Single(collection);
12698
Assert.Equal("Sam", collection.First().Builder.Name);
12799
Assert.Equal(default, collection.First().Builder.Id);
128100
Assert.Null(collection.First().Builder.City);
@@ -141,7 +113,7 @@ public async void BuildingExpandBuilderSelectNameExpandCityFilterEqAndOrderBy_Ci
141113

142114
void Test(ICollection<CoreBuilding> collection)
143115
{
144-
Assert.Equal(1, collection.Count);
116+
Assert.Single(collection);
145117
Assert.Equal("Sam", collection.First().Builder.Name);
146118
Assert.Equal(default, collection.First().Builder.Id);
147119
Assert.Equal("London", collection.First().Builder.City.Name);
@@ -220,4 +192,41 @@ private ODataQueryOptions<TModel> GetODataQueryOptions<TModel>(string query, str
220192
);
221193
}
222194
}
195+
196+
public class GetQuerySelectTestsFixture
197+
{
198+
public GetQuerySelectTestsFixture()
199+
{
200+
IServiceCollection services = new ServiceCollection();
201+
IMvcCoreBuilder builder = new TestMvcCoreBuilder
202+
{
203+
Services = services
204+
};
205+
206+
builder.AddOData();
207+
services.AddDbContext<MyDbContext>
208+
(
209+
options => options.UseSqlServer
210+
(
211+
@"Server=(localdb)\mssqllocaldb;Database=GetQuerySelectTestsatabase;ConnectRetryCount=0",
212+
options => options.EnableRetryOnFailure()
213+
),
214+
ServiceLifetime.Transient
215+
)
216+
.AddSingleton<IConfigurationProvider>(new MapperConfiguration(cfg => cfg.AddMaps(typeof(GetTests).Assembly)))
217+
.AddTransient<IMapper>(sp => new Mapper(sp.GetRequiredService<IConfigurationProvider>(), sp.GetService))
218+
.AddTransient<IApplicationBuilder>(sp => new ApplicationBuilder(sp))
219+
.AddRouting()
220+
.AddLogging();
221+
222+
ServiceProvider = services.BuildServiceProvider();
223+
224+
MyDbContext context = ServiceProvider.GetRequiredService<MyDbContext>();
225+
context.Database.EnsureDeleted();
226+
context.Database.EnsureCreated();
227+
DatabaseInitializer.SeedDatabase(context);
228+
}
229+
230+
internal IServiceProvider ServiceProvider;
231+
}
223232
}

0 commit comments

Comments
 (0)