Skip to content

Commit 039bc0e

Browse files
authored
Merge pull request #37 from AutoMapper/upgrade-8.0
Upgrade 8.0
2 parents 0559662 + faeadea commit 039bc0e

File tree

4 files changed

+18
-25
lines changed

4 files changed

+18
-25
lines changed

AutoMapper.Data.snk

596 Bytes
Binary file not shown.

AutoMapper.Data/AutoMapper.Data.csproj

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,21 @@
22

33
<PropertyGroup>
44
<Description>ADO.NET extensions for AutoMapper</Description>
5-
<VersionPrefix>2.0.0</VersionPrefix>
5+
<VersionPrefix>3.0.0</VersionPrefix>
66
<Authors>Jimmy Bogard</Authors>
7-
<TargetFrameworks>netstandard1.3;netstandard2.0;net45</TargetFrameworks>
7+
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
88
<AssemblyName>AutoMapper.Data</AssemblyName>
99
<PackageId>AutoMapper.Data</PackageId>
1010
<PackageTags>AutoMapper</PackageTags>
1111
<PackageIconUrl>https://s3.amazonaws.com/automapper/icon.png</PackageIconUrl>
1212
<PackageProjectUrl>https://github.com/AutoMapper/AutoMapper.Data</PackageProjectUrl>
1313
<PackageLicenseUrl>https://github.com/AutoMapper/AutoMapper.Data/blob/master/LICENSE.txt</PackageLicenseUrl>
14-
<Version>2.0.0</Version>
14+
<SignAssembly>true</SignAssembly>
15+
<AssemblyOriginatorKeyFile>..\AutoMapper.Data.snk</AssemblyOriginatorKeyFile>
1516
</PropertyGroup>
1617

1718
<ItemGroup>
18-
<PackageReference Include="AutoMapper" Version="7.0.1" />
19-
</ItemGroup>
20-
21-
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
22-
<PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
23-
<PackageReference Include="System.Reflection.Emit.ILGeneration" Version="4.3.0" />
24-
<PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.3.0" />
25-
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.4.0" />
26-
<PackageReference Include="System.Data.Common" Version="4.3.0" />
19+
<PackageReference Include="AutoMapper" Version="8.0.0" />
2720
</ItemGroup>
2821

2922
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">

AutoMapper.Data/Mappers/DataReaderMapper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public bool IsMatch(TypePair context)
2020
=> IsDataReader(context.SourceType, context.DestinationType);
2121

2222
public Expression MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap,
23-
PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression)
23+
IMemberMap memberMap, Expression sourceExpression, Expression destExpression, Expression contextExpression)
2424
{
2525
Expression mapExpr = null;
2626

AutoMapper.Data/Utils/CollectionMapper.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace AutoMapper.Utils
1212
public static class CollectionMapperExtensions
1313
{
1414
internal static Expression MapCollectionExpression(this IConfigurationProvider configurationProvider,
15-
ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression,
15+
ProfileMap profileMap, IMemberMap memberMap, Expression sourceExpression,
1616
Expression destExpression, Expression contextExpression, Func<Expression, Expression> conditionalExpression, Type ifInterfaceType, MapItem mapItem)
1717
{
1818
var passedDestination = Variable(destExpression.Type, "passedDestination");
@@ -21,12 +21,12 @@ internal static Expression MapCollectionExpression(this IConfigurationProvider c
2121
var sourceElementType = TypeHelper.GetElementType(sourceExpression.Type);
2222
ParameterExpression itemParam;
2323

24-
var itemExpr = mapItem(configurationProvider, profileMap, propertyMap, sourceExpression.Type, passedDestination.Type, contextExpression, out itemParam);
24+
var itemExpr = mapItem(configurationProvider, profileMap, memberMap, sourceExpression.Type, passedDestination.Type, contextExpression, out itemParam);
2525

2626
var destinationElementType = itemExpr.Type;
2727
var destinationCollectionType = typeof(ICollection<>).MakeGenericType(destinationElementType);
2828
var addMethod = destinationCollectionType.GetDeclaredMethod("Add");
29-
var destination = propertyMap?.UseDestinationValue == true ? passedDestination : newExpression;
29+
var destination = memberMap?.UseDestinationValue == true ? passedDestination : newExpression;
3030
var addItems = ForEach(sourceExpression, itemParam, Call(destination, addMethod, itemExpr));
3131

3232
var mapExpr = Block(addItems, destination);
@@ -41,7 +41,7 @@ internal static Expression MapCollectionExpression(this IConfigurationProvider c
4141
Assign(newExpression, passedDestination.Type.NewExpr(ifInterfaceType))),
4242
Condition(Equal(sourceExpression, Constant(null)), ToType(ifNullExpr, passedDestination.Type), ToType(mapExpr, passedDestination.Type))
4343
);
44-
if(propertyMap != null)
44+
if(memberMap != null)
4545
{
4646
return checkNull;
4747
}
@@ -72,23 +72,23 @@ internal static Expression NewExpr(this Type baseType, Type ifInterfaceType)
7272
}
7373

7474
public delegate Expression MapItem(IConfigurationProvider configurationProvider, ProfileMap profileMap,
75-
PropertyMap propertyMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam);
75+
IMemberMap memberMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam);
7676

7777
internal static Expression MapItemExpr(this IConfigurationProvider configurationProvider, ProfileMap profileMap,
78-
PropertyMap propertyMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam)
78+
IMemberMap memberMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam)
7979
{
8080
var sourceElementType = TypeHelper.GetElementType(sourceType);
8181
var destElementType = TypeHelper.GetElementType(destType);
8282
itemParam = Parameter(sourceElementType, "item");
8383

8484
var typePair = new TypePair(sourceElementType, destElementType);
8585

86-
var itemExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePair, itemParam, contextParam, propertyMap);
86+
var itemExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePair, itemParam, contextParam, memberMap);
8787
return ToType(itemExpr, destElementType);
8888
}
8989

9090
internal static Expression MapKeyPairValueExpr(this IConfigurationProvider configurationProvider,
91-
ProfileMap profileMap, PropertyMap propertyMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam)
91+
ProfileMap profileMap, IMemberMap memberMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam)
9292
{
9393
var sourceElementTypes = TypeHelper.GetElementTypes(sourceType, ElementTypeFlags.BreakKeyValuePair);
9494
var destElementTypes = TypeHelper.GetElementTypes(destType, ElementTypeFlags.BreakKeyValuePair);
@@ -100,8 +100,8 @@ internal static Expression MapKeyPairValueExpr(this IConfigurationProvider confi
100100
itemParam = Parameter(sourceElementType, "item");
101101
var destElementType = typeof(KeyValuePair<,>).MakeGenericType(destElementTypes);
102102

103-
var keyExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePairKey, Property(itemParam, "Key"), contextParam, propertyMap);
104-
var valueExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePairValue, Property(itemParam, "Value"), contextParam, propertyMap);
103+
var keyExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePairKey, Property(itemParam, "Key"), contextParam, memberMap);
104+
var valueExpr = ExpressionBuilder.MapExpression(configurationProvider, profileMap, typePairValue, Property(itemParam, "Value"), contextParam, memberMap);
105105
var keyPair = New(destElementType.GetConstructors().First(), keyExpr, valueExpr);
106106
return keyPair;
107107
}
@@ -116,7 +116,7 @@ public class CollectionMapper : IObjectMapper
116116
{
117117
public bool IsMatch(TypePair context) => context.SourceType.IsEnumerableType() && context.DestinationType.IsCollectionType();
118118

119-
public Expression MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression)
120-
=> configurationProvider.MapCollectionExpression(profileMap, propertyMap, sourceExpression, destExpression, contextExpression, CollectionMapperExtensions.IfNotNull, typeof(List<>), CollectionMapperExtensions.MapItemExpr);
119+
public Expression MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, IMemberMap memberMap, Expression sourceExpression, Expression destExpression, Expression contextExpression)
120+
=> configurationProvider.MapCollectionExpression(profileMap, memberMap, sourceExpression, destExpression, contextExpression, CollectionMapperExtensions.IfNotNull, typeof(List<>), CollectionMapperExtensions.MapItemExpr);
121121
}
122122
}

0 commit comments

Comments
 (0)