Skip to content

Commit 322912d

Browse files
authored
Supporting Automapper v15. (#183)
1 parent b8b4900 commit 322912d

30 files changed

+91
-69
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ To use, configure using the configuration helper method:
99
var mapper = new Mapper(new MapperConfiguration(cfg => {
1010
cfg.AddExpressionMapping();
1111
// Rest of your configuration
12-
}));
12+
}, loggerFactory));
1313

1414
// or if using the MS Ext DI:
1515

src/AutoMapper.Extensions.ExpressionMapping/AutoMapper.Extensions.ExpressionMapping.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<Summary>Expression mapping (OData) extensions for AutoMapper</Summary>
55
<Description>Expression mapping (OData) extensions for AutoMapper</Description>
6-
<TargetFramework>net8.0</TargetFramework>
6+
<TargetFramework>net8.0</TargetFramework>
77
<GenerateDocumentationFile>true</GenerateDocumentationFile>
88
<AssemblyOriginatorKeyFile>..\..\AutoMapper.snk</AssemblyOriginatorKeyFile>
99
<SignAssembly>true</SignAssembly>
@@ -29,7 +29,7 @@
2929
</ItemGroup>
3030

3131
<ItemGroup>
32-
<PackageReference Include="AutoMapper" Version="[14.0.0,15.0.0)" />
32+
<PackageReference Include="AutoMapper" Version="[15.0.0,16.0.0)" />
3333
<PackageReference Include="MinVer" Version="6.0.0">
3434
<PrivateAssets>all</PrivateAssets>
3535
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using Microsoft.Extensions.Logging.Abstractions;
2+
using System;
3+
4+
namespace AutoMapper.Extensions.ExpressionMapping
5+
{
6+
public static class ConfigurationHelper
7+
{
8+
public static MapperConfiguration GetMapperConfiguration(Action<IMapperConfigurationExpression> configure)
9+
{
10+
return new MapperConfiguration(configure, new NullLoggerFactory());
11+
}
12+
13+
public static MapperConfiguration GetMapperConfiguration(MapperConfigurationExpression configurationExpression)
14+
{
15+
return new MapperConfiguration(configurationExpression, new NullLoggerFactory());
16+
}
17+
}
18+
}

src/AutoMapper.Extensions.ExpressionMapping/ExpressionMapper.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public Expression MapExpression(IGlobalConfiguration configurationProvider, Prof
3232
Constant(configurationProvider)
3333
);
3434

35+
public TypePair? GetAssociatedTypes(TypePair initialTypes)
36+
{
37+
return null;
38+
}
39+
3540
internal class MappingVisitor : ExpressionVisitor
3641
{
3742
private IList<Type> _destSubTypes = new Type[0];

src/AutoMapper.Extensions.ExpressionMapping/XpressionMapperVisitor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ private void ConfigureAnonymousTypeMaps(Type oldType, Type newAnonymousType)
286286
}
287287
});
288288

289-
anonymousTypesConfigurationProvider = new MapperConfiguration(anonymousTypesBaseMappings);
289+
anonymousTypesConfigurationProvider = ConfigurationHelper.GetMapperConfiguration(anonymousTypesBaseMappings);
290290
}
291291

292292
private MemberInitExpression GetAnonymousTypeMemberInitExpression(Dictionary<string, Expression> bindingExpressions, Type oldType)

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/CanMapExpressionWithListConstants.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class CanMapExpressionWithListConstants
1212
public void Map_expression_with_constant_array()
1313
{
1414
//Arrange
15-
var config = new MapperConfiguration
15+
var config = ConfigurationHelper.GetMapperConfiguration
1616
(
1717
cfg =>
1818
{
@@ -43,7 +43,7 @@ public void Map_expression_with_constant_array()
4343
public void Map_expression_with_constant_list_using_generic_list_dot_contains()
4444
{
4545
//Arrange
46-
var config = new MapperConfiguration
46+
var config = ConfigurationHelper.GetMapperConfiguration
4747
(
4848
cfg =>
4949
{
@@ -73,7 +73,7 @@ public void Map_expression_with_constant_list_using_generic_list_dot_contains()
7373
public void Map_expression_with_constant_list_using_generic_enumerable_dot_contains()
7474
{
7575
//Arrange
76-
var config = new MapperConfiguration
76+
var config = ConfigurationHelper.GetMapperConfiguration
7777
(
7878
cfg =>
7979
{
@@ -103,7 +103,7 @@ public void Map_expression_with_constant_list_using_generic_enumerable_dot_conta
103103
public void Map_expression_with_constant_dictionary()
104104
{
105105
//Arrange
106-
var config = new MapperConfiguration
106+
var config = ConfigurationHelper.GetMapperConfiguration
107107
(
108108
cfg =>
109109
{
@@ -133,7 +133,7 @@ public void Map_expression_with_constant_dictionary()
133133
public void Map_expression_with_constant_dictionary_mapping_both_Key_and_value()
134134
{
135135
//Arrange
136-
var config = new MapperConfiguration
136+
var config = ConfigurationHelper.GetMapperConfiguration
137137
(
138138
cfg =>
139139
{

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/CanMapExpressionWithLocalExpressionConstant.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class CanMapExpressionWithLocalExpressionConstant
1212
public void Map_expression_wchich_includes_local_constant()
1313
{
1414
//Arrange
15-
var config = new MapperConfiguration
15+
var config = ConfigurationHelper.GetMapperConfiguration
1616
(
1717
cfg =>
1818
{

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/CanMapMemberFromTypeBinaryExpression.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class CanMapMemberFromTypeBinaryExpression
1212
public void Can_map_using_type_binary_expression_to_test_the_parameter_expression()
1313
{
1414
//arrange
15-
var config = new MapperConfiguration(cfg =>
15+
var config = ConfigurationHelper.GetMapperConfiguration(cfg =>
1616
{
1717
cfg.AddExpressionMapping();
1818

@@ -41,7 +41,7 @@ public void Can_map_using_type_binary_expression_to_test_the_parameter_expressio
4141
public void Can_map_using_type_binary_expression_to_test_a_member_expression()
4242
{
4343
//arrange
44-
var config = new MapperConfiguration(cfg =>
44+
var config = ConfigurationHelper.GetMapperConfiguration(cfg =>
4545
{
4646
cfg.AddExpressionMapping();
4747

@@ -77,7 +77,7 @@ public void Can_map_using_type_binary_expression_to_test_a_member_expression()
7777
public void Can_map_using_instance_method_call_to_test_the_parameter_expression()
7878
{
7979
//arrange
80-
var config = new MapperConfiguration(cfg =>
80+
var config = ConfigurationHelper.GetMapperConfiguration(cfg =>
8181
{
8282
cfg.AddExpressionMapping();
8383

@@ -101,7 +101,7 @@ public void Can_map_using_instance_method_call_to_test_the_parameter_expression(
101101
public void Can_map_using_static_method_call_to_test_the_parameter_expression()
102102
{
103103
//arrange
104-
var config = new MapperConfiguration(cfg =>
104+
var config = ConfigurationHelper.GetMapperConfiguration(cfg =>
105105
{
106106
cfg.AddExpressionMapping();
107107

@@ -129,7 +129,7 @@ public void Can_map_using_static_method_call_to_test_the_parameter_expression()
129129
public void Can_map_using_static_generic_method_call_to_test_the_parameter_expression()
130130
{
131131
//arrange
132-
var config = new MapperConfiguration(cfg =>
132+
var config = ConfigurationHelper.GetMapperConfiguration(cfg =>
133133
{
134134
cfg.AddExpressionMapping();
135135

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/CanMapMismatchedLiteralMemberExpressionsWithoutCustomExpressions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ public void CanMapNullableSelectorToNonNullableelectorWithoutCustomExpression(st
198198

199199
private static IMapper GetModelToDataMapper()
200200
{
201-
var config = new MapperConfiguration(c =>
201+
var config = ConfigurationHelper.GetMapperConfiguration(c =>
202202
{
203203
c.CreateMap<ProductModel, Product>();
204204
});
@@ -208,7 +208,7 @@ private static IMapper GetModelToDataMapper()
208208

209209
private static IMapper GetDataToModelMapper()
210210
{
211-
var config = new MapperConfiguration(c =>
211+
var config = ConfigurationHelper.GetMapperConfiguration(c =>
212212
{
213213
c.CreateMap<Product, ProductModel>();
214214
});

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/CanMapParameterBodyFromChildReferenceWithoutMemberExpression.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class CanMapParameterBodyFromChildReferenceWithoutMemberExpression
1212
public void Can_map_parameter_body_from_child_reference_without_member_expression()
1313
{
1414
// Arrange
15-
var config = new MapperConfiguration(c =>
15+
var config = ConfigurationHelper.GetMapperConfiguration(c =>
1616
{
1717
c.CreateMap<TestCategory, TestProductDTO>()
1818
.ForMember(p => p.Brand, c => c.MapFrom(p => EF.Property<int>(p, "BrandId"))); ;
@@ -42,7 +42,7 @@ public class TestCategory
4242
}
4343
public class TestProduct
4444
{
45-
public TestCategory? Category { get; set; }
45+
public TestCategory Category { get; set; }
4646
}
4747

4848
public class TestProductDTO

0 commit comments

Comments
 (0)