【发布时间】:2014-05-30 16:24:57
【问题描述】:
在尝试使用 AutoMapper 在我的 ViewModel 和我的域模型之间进行转换时,我注意到它不能很好地与标记为 Flags 属性的 Enums 配合使用。
这是一个类的快速模型:
视图模型:
public class TestViewModel
{
// array of individual Enum values
public TestEnum[] TestEnum { get; set; }
}
领域模型:
public class TestModel
{
// single Enum marked with flags attribute
public TestEnum TestEnum { get; set; }
}
枚举:
[Flags]
public enum TestEnum
{
Test1,
Test2,
Test3,
Test4
}
这就是我想要做的。我想我的 Automapper 配置中需要某种自定义解析器,因为当我执行 Mapper.Map() 时它会引发异常。
我的问题:我将如何做到这一点?
奖励问题:这是在 Viewmodel -> 域模型(在 MVVM 方面)中处理标志枚举/位掩码的最佳实践吗?如果不是,您会建议什么做法(使用 AutoMapper 或其他方式)?
【问题讨论】:
标签: c# asp.net-mvc mvvm enums automapper