I am trying to update some data with some input by HttpPut which has an list of object. But specially I want to update child object's some properties.
Inputs
public class WarehouseInput
{
   public string WarehouseCode { get; set; }
   public string WarehouseName { get; set; }
   public bool IsActive { get; set; }
   public List<ItemInput> Items { get; set; }
}
public class ItemInput
{
   public string ItemCode { get; set; }
   public string ItemName { get; set; }
   public bool IsActive { get; set; }
}
Entities
public class WarehouseEntity
{
   public Guid Id { get; set; }
   public Guid LocationId { get; set; }
   public string WarehouseCode { get; set; }
   public string WarehouseName { get; set; }
   public bool IsActive { get; set; }
   public DateTime CreateDate { get; set; }
   public List<ItemEntity> Items { get; set; }
}
public class ItemEntity
{
   public Guid Id { get; set; }
   public string ItemCode { get; set; }
   public string ItemName { get; set; }
   public bool IsActive { get; set; }
   public DateTime CreateDate { get; set; }
}
Swagger Request
{ "warehouseCode": "1234",  
  "warehouseName": "Test",  
  "isActive": true,  
  "items": 
  [    
    {   "id": "644eeb9c-2b65-49e2-93bd-5f770f5ce86f",      
       "itemCode": "10",      
       "itemName": "Book",      
       "isActive": false    
    },    
    {      
        "id": "2aeec639-64de-46b9-a30c-316ce2240764",      
        "itemCode": "11",      
        "itemName": "Pen",      
        "isActive": false    
    },    
    {      
        "id": "6e01f073-351f-4463-a4bb-a4a2a32dbf16",      
        "itemCode": "12",      
        "itemName": "Book",      
        "isActive": false    
     }  
   ]
}
In DB these items' isActive datas are true. And I want to change them to false.
private readonly IMapper _mapper;
public async Task UpdateWarehouseAsync(Guid warehouseId, WarehouseInput input)
{
    ...
    //Getting entity data
    Warehouse warehouseEntity = await _warehouseRepository.GetWarehouseAsync(warehouseId);
    //map
    _mapper.Map(input, warehouseEntity);
}
MAPPING
public class WarehouseProfile : Profile
{
    public WarehouseProfile()
    {
        CreateMap<WarehouseInput, WarehouseEntity>()
                .ForMember(x => x.LocationId, opt => opt.Ignore())
                .ForMember(x => x.CreateDate, opt => opt.Ignore());
 
        CreateMap<ItemInput, ItemEntity>()
                        .ForMember(x => x.CreateDate, map => map.Ignore());
    }
}
PROBLEM
I tried to ignore in map.Ignores for warehouse works normal but item's createDate becomes default value(01/01/0001 00:00:00) after mapping. Only the ones that I send to db with input change normally.
example output
"id": "644eeb9c-2b65-49e2-93bd-5f770f5ce86f",
"itemCode": "10",
"itemName": "Book",
"isActive": false,
"createDate": "01/01/0001 00:00:00"
 
    