c# - AutoMapper:手动设置属性

标签 c# automapper

我正在使用 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/

相关文章:

c# - Visual Studio - 卸载应用程序后应用程序注册失败

c# - 比较两个对象的不同属性值

c# - 如何在单元测试中从 Automapper 模拟 IValueResolver 的依赖关系

c# - 为什么 Visual Studio 2010 在调试重启时重新编译我的 C# 项目?

c# - 使用 BinaryFormatter 而不是 protobuf-net 的原因

c# - 如何更改datagridview中的行颜色

c# - AutoMapper 避免嵌套循环

c# - C#引用消耗多少内存?

c# - 自动映射器复杂对象

c# - Automapper 和 NHibernate : lazy loading