From c9b0a8f3270b81782307cb9f80a9dc941aa78fe5 Mon Sep 17 00:00:00 2001 From: DocSvartz Date: Thu, 23 Jan 2025 14:07:29 +0500 Subject: [PATCH] IgnoreNonMapped skip RequireDestinationMemberSource --- src/Mapster.Tests/WhenIgnoringNonMapped.cs | 1 + src/Mapster/Adapters/BaseClassAdapter.cs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/Mapster.Tests/WhenIgnoringNonMapped.cs b/src/Mapster.Tests/WhenIgnoringNonMapped.cs index 59a082ca..320feff1 100644 --- a/src/Mapster.Tests/WhenIgnoringNonMapped.cs +++ b/src/Mapster.Tests/WhenIgnoringNonMapped.cs @@ -12,6 +12,7 @@ public void Should_Ignore_Non_Mapped() { TypeAdapterConfig.NewConfig() .Map(dest => dest.Id, src => src.Id) + .RequireDestinationMemberSource(true) .IgnoreNonMapped(true) .Compile(); diff --git a/src/Mapster/Adapters/BaseClassAdapter.cs b/src/Mapster/Adapters/BaseClassAdapter.cs index faa490ec..b0551473 100644 --- a/src/Mapster/Adapters/BaseClassAdapter.cs +++ b/src/Mapster/Adapters/BaseClassAdapter.cs @@ -34,7 +34,11 @@ src is LambdaExpression lambda var resolvers = arg.Settings.ValueAccessingStrategies.AsEnumerable(); if (arg.Settings.IgnoreNonMapped == true) + { + arg.Settings.SkipDestinationMemberCheck = true; resolvers = resolvers.Where(ValueAccessingStrategy.CustomResolvers.Contains); + } + var getter = (from fn in resolvers from src in sources select fn(src, destinationMember, arg))