我正在使用 AutoMapper 将平面 DataObjects 映射到胖 BusinessObjects,反之亦然。我注意到,由于 BusinessObjects 的更改通知(使用自定义验证实现 INotifyPropertyChanged 等),从 DataObjects 到 BusinessObjects 的映射需要额外的时间。
因为在映射期间我通常不需要更改通知,所以我想将其关闭。所以我添加了一个属性“IsPropertyChangedEnabled”。如果此属性设置为 false,则不会引发 NotifyPropertyChanged 事件并节省时间。
问题:
我可以告诉 AutoMapper 在映射过程的最开始将此属性设置为 false 吗?如果是,怎么办?
谢谢!
最佳答案
在映射过程之前使用BeforeMap
方法设置属性值:
Mapper.CreateMap<Source, Destination>()
.BeforeMap((s, d) => d.IsPropertyChangedEnabled = false );
关于c# - AutoMapper:手动设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277904/