[英]C# Automapper Ignore Property When Null
我正在我的AccountEditViewModel
(用於編輯用戶的View Model)和我的User
(表示數據庫中User
數據模型)之間創建一個Automapper映射。 如果填寫了密碼字段,我想加密該密碼並存儲它,但如果它在我想要保留舊密碼時為空。 我已經嘗試了下面的代碼,但它是錯誤的,model.Ignore()不返回字符串值。 解決這個問題的最佳方式是什么? 我可以使用ForMember()
方法完成此操作還是需要自定義解析器?
Mapper.CreateMap<AccountEditViewModel, User>()
.ForMember(model => model.Password, model => model.MapFrom(user => user.Password != null ? EncryptPassword(user.Password) : model.Ignore()));
試試這個:
Mapper.CreateMap<AccountEditViewModel, User>()
.ForMember(model => model.Password, model => model.Ignore())
.AfterMap((src, dst) =>
{
if (src.Password != null)
dst.Password= EncryptPassword(src.Password);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.