簡體   English   中英

C#Automapper忽略屬性時為空

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM