diff --git a/src/Mapster/Adapters/BaseAdapter.cs b/src/Mapster/Adapters/BaseAdapter.cs index d33f118d..a3ffb648 100644 --- a/src/Mapster/Adapters/BaseAdapter.cs +++ b/src/Mapster/Adapters/BaseAdapter.cs @@ -479,7 +479,12 @@ protected Expression CreateAdaptExpression(Expression source, Type destinationTy } internal Expression CreateAdaptExpression(Expression source, Type destinationType, CompileArgument arg, MemberMapping? mapping, Expression? destination = null) { - var _source = source.NullableEnumExtractor(); // Extraction Nullable Enum + Expression _source; + + if (arg.MapType != MapType.Projection) + _source = source.NullableEnumExtractor(); // Extraction Nullable Enum + else + _source = source; if (_source.Type == destinationType && arg.MapType == MapType.Projection) return _source;