Mapster icon indicating copy to clipboard operation
Mapster copied to clipboard

wish to add the ability to ignore a copy of a property when it has a specific value. For example, null, empty string, empty collection

Open WuQuDeRen opened this issue 1 year ago • 2 comments

mapster has provided the function of not copying the property when the value of the property is null. Can we extend this function to stop copying the property when the value of the property is a series of specific values? It is better to provide a general method (I am not sure which property and which type, but I am sure that the value cannot be these)? Determine whether a property field can be copied before it is copied

  // Can you provide such a method     
  //      Another framework, automapper, already provides similar functionality
  // I don't care about the attribute name, but I care about the attribute value, and providing the attribute name is best when determining the attribute value
  IgnoreMember((srcMember, destMember, srcValue, destValue) =>
  {
      if (srcValue is string srcValueTxt)
      {
          return string.IsNullOrWhiteSpace(srcValueTxt);
      }

      if (srcValue == destValue)
      {
          return true;
      }

      return false;
  })

WuQuDeRen avatar Dec 31 '24 01:12 WuQuDeRen

Hello @WuQuDeRen. Maybe you need Ignore conditionally or Map with condition .

DocSvartz avatar Jan 03 '25 19:01 DocSvartz

Hello @WuQuDeRen. Maybe you need Ignore conditionally or Map with condition .

You're right, but when there are many attributes, configuring them one by one can be cumbersome. I need a universal and concise way。Similar to the IgnoreNullValues method, but I need to independently determine which values cannot be copied, such as empty strings

WuQuDeRen avatar Jan 06 '25 00:01 WuQuDeRen