Я искал inte rnet в течение нескольких часов и не могу найти какие-либо решения для себя, или понимаю некоторые другие похожие ответы, которые я нахожу.
Все, что я пытаюсь сделать, это игнорировать свойства вложенного объекта в моем AutoMapper. Вот небольшой обзор моделей, с которыми я работаю (я удалил некоторые свойства, чтобы сделать их немного меньше для целей этого вопроса).
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
public class ProductDto
{
public int ProductId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public string LabelColor { get; set; }
public DateTime Created { get; set; }
}
public class CategoryDto
{
public int CategoryId { get; set; }
public string Name { get; set; }
public string LabelColor { get; set; }
}
В принципе, все, что я хочу, - это мой автопроизводитель игнорировать Созданное свойство, поступающее из класса Category каждый раз, когда Продукт запрашивается через API. Самое близкое к этому достижение - это игнорирование всего объекта Category при запросе.
Вот текущая конфигурация сопоставления для моего класса продукта
public class ProductMapping: Profile
{
public ProductMapping()
{
CreateMap<Product, ProductDto>()
.ReverseMap()
.ForMember(x => x.ProductId, o => o.Ignore());
}
}
Мне удалось обнулить весь объект, поставив .ForPath(x => x.Category.Created, o => o.Ignore()
перед .ReverseMap()
I Следует отметить, что, конечно, классы и класс mapper распределены по нескольким файлам, а класс CategoryMapping выглядит так же, как и ProductMapping. Это удаление свойства Created, хотя это и ожидается.
Если кто-то может помочь изолировать мою проблему или продемонстрировать лучший способ достижения этой цели, я открыт для предложений. До тех пор я буду продолжать пытаться выяснить эту проблему. Спасибо за любую помощь!