diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs index 0a83ce8b8e..36837ae5b3 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs @@ -118,6 +118,7 @@ namespace Volo.Abp.Data foreach (var property in properties) { property.SetValue(source, source.ExtraProperties[property.Name]); + source.RemoveProperty(property.Name); } } } diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperExtensibleDtoExtensions_Tests.cs b/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperExtensibleDtoExtensions_Tests.cs index c8dedffdc5..953187abee 100644 --- a/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperExtensibleDtoExtensions_Tests.cs +++ b/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperExtensibleDtoExtensions_Tests.cs @@ -53,15 +53,15 @@ namespace AutoMapper _objectMapper.Map(person, personDto); //Defined in both classes - personDto.GetProperty("Name").ShouldBe("John"); + personDto.HasProperty("Name").ShouldBe(false); personDto.Name.ShouldBe("John"); //Defined in both classes - personDto.GetProperty("Age").ShouldBe(42); + personDto.HasProperty("Age").ShouldBe(false); personDto.Age.ShouldBe(42); //Should not clear existing values - personDto.GetProperty("IsActive").ShouldBe(true); + personDto.HasProperty("IsActive").ShouldBe(false); personDto.IsActive.ShouldBe(true); } }