Skip to content

Commit 15baeea

Browse files
authored
Merge pull request #105 from AutoMapper/ImprovingAnonymousTypeExpressionMapping
minor
2 parents 9614139 + 9ecc25f commit 15baeea

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/AutoMapper.Extensions.ExpressionMapping/TypeMapHelper.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public static IMemberMap GetMemberMapByDestinationProperty(this TypeMap typeMap,
1111
if (propertyMap != null)
1212
return propertyMap;
1313

14-
var memberMap = typeMap.MemberMaps.OfType<ConstructorParameterMap>().SingleOrDefault(mm => mm.Parameter.Name == destinationPropertyName);
14+
var memberMap = typeMap.MemberMaps.OfType<ConstructorParameterMap>().SingleOrDefault(mm => string.Compare(mm.Parameter.Name, destinationPropertyName, StringComparison.InvariantCultureIgnoreCase) == 0);
1515
if (memberMap != null)
1616
return memberMap;
1717

src/AutoMapper.Extensions.ExpressionMapping/XpressionMapperVisitor.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using AutoMapper.Extensions.ExpressionMapping.Extensions;
22
using AutoMapper.Extensions.ExpressionMapping.Structures;
33
using AutoMapper.Internal;
4-
using AutoMapper.QueryableExtensions.Impl;
54
using System;
65
using System.Collections.Generic;
76
using System.Globalization;
@@ -31,7 +30,7 @@ public XpressionMapperVisitor(IMapper mapper, IConfigurationProvider configurati
3130
protected IMapper Mapper { get; }
3231

3332
private IConfigurationProvider anonymousTypesConfigurationProvider;
34-
private Configuration.MapperConfigurationExpression anonymousTypesBaseMappings = new Configuration.MapperConfigurationExpression();
33+
private readonly Configuration.MapperConfigurationExpression anonymousTypesBaseMappings = new Configuration.MapperConfigurationExpression();
3534

3635
protected override Expression VisitParameter(ParameterExpression node)
3736
{
@@ -249,8 +248,8 @@ private void ConfigureAnonymousTypeMaps(Type oldType, Type newAnonymousType)
249248
.ToList()
250249
.ForEach(member =>
251250
{
252-
Type sourceType = member.GetMemberType();
253-
Type destMember = oldType.GetMember(member.Name)[0].GetMemberType();
251+
Type sourceType = member.PropertyType;
252+
Type destMember = oldType.GetProperty(member.Name).PropertyType;
254253
if (sourceType == destMember)
255254
return;
256255

0 commit comments

Comments
 (0)