Skip to content

Commit 5309cfa

Browse files
authored
Supporting AutoMapper v12. (#147)
1 parent 8817161 commit 5309cfa

File tree

4 files changed

+4
-11
lines changed

4 files changed

+4
-11
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</ItemGroup>
2929

3030
<ItemGroup>
31-
<PackageReference Include="AutoMapper" Version="[11.0.0,12.0.0)" />
31+
<PackageReference Include="AutoMapper" Version="[12.0.0,13.0.0)" />
3232
<PackageReference Include="MinVer" Version="2.3.0">
3333
<PrivateAssets>all</PrivateAssets>
3434
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

src/AutoMapper.Extensions.ExpressionMapping/MapperExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ private static void DoAddTypeMappings(this Dictionary<Type, Type> typeMappings,
396396
private static Type GetSourceMemberType(this PropertyMap propertyMap)
397397
=> propertyMap.CustomMapExpression != null
398398
? propertyMap.CustomMapExpression.ReturnType
399-
: propertyMap.SourceMember.GetMemberType();
399+
: propertyMap.SourceMembers.Last().GetMemberType();
400400

401401
private static void FindChildPropertyTypeMaps(this Dictionary<Type, Type> typeMappings, IConfigurationProvider ConfigurationProvider, Type source, Type dest)
402402
{

src/AutoMapper.Extensions.ExpressionMapping/ReflectionExtensions.cs

-3
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ namespace AutoMapper.Extensions.ExpressionMapping
1111

1212
internal static class ReflectionExtensions
1313
{
14-
public static object GetDefaultValue(this ParameterInfo parameter)
15-
=> ReflectionHelper.GetDefaultValue(parameter);
16-
1714
public static object MapMember(this ResolutionContext context, MemberInfo member, object value, object destination = null)
1815
=> ReflectionHelper.MapMember(context, member, value, destination);
1916

src/AutoMapper.Extensions.ExpressionMapping/XpressionMapperVisitor.cs

+2-6
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ private MemberBinding DoBind(MemberInfo sourceMember, Expression initial, Expres
388388
private MemberInfo GetSourceMember(PropertyMap propertyMap)
389389
=> propertyMap.CustomMapExpression != null
390390
? propertyMap.CustomMapExpression.GetMemberExpression()?.Member
391-
: propertyMap.SourceMember;
391+
: propertyMap.SourceMembers.Last();
392392

393393
private MemberInfo GetParentMember(PropertyMap propertyMap)
394394
=> propertyMap.IncludedMember?.ProjectToCustomSource != null
@@ -717,10 +717,6 @@ TypeMap GetTypeMap() => BothTypesAreAnonymous()
717717
{
718718
var propertyMap = typeMap.GetMemberMapByDestinationProperty(sourceFullName);
719719
var sourceMemberInfo = typeSource.GetFieldOrProperty(propertyMap.GetDestinationName());
720-
if (propertyMap.ValueResolverConfig != null)
721-
{
722-
throw new InvalidOperationException(Properties.Resources.customResolversNotSupported);
723-
}
724720

725721
if (propertyMap.CustomMapExpression == null && !propertyMap.SourceMembers.Any())
726722
throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Properties.Resources.srcMemberCannotBeNullFormat, typeSource.Name, typeDestination.Name, sourceFullName));
@@ -746,7 +742,7 @@ TypeMap GetTypeMap() => BothTypesAreAnonymous()
746742
var childFullName = sourceFullName.Substring(sourceFullName.IndexOf(period, StringComparison.OrdinalIgnoreCase) + 1);
747743

748744
FindDestinationFullName(sourceMemberInfo.GetMemberType(), propertyMap.CustomMapExpression == null
749-
? propertyMap.SourceMember.GetMemberType()
745+
? propertyMap.SourceMembers.Last().GetMemberType()
750746
: propertyMap.CustomMapExpression.ReturnType, childFullName, propertyMapInfoList);
751747
}
752748
}

0 commit comments

Comments
 (0)