我在域模型中有一个枚举:
public enum MessageType
{
Ad = 1,
Ask = 2
}
我使用 DTO 将数据从服务层传输到 UI 层。
在控制器中,我需要从服务层获取某种类型的所有消息:
_messageService.GetAllAds(MessageType.Ad);
由于域模型未映射到 UI 中,我如何将其传递给 UI?
谢谢
我在域模型中有一个枚举:
public enum MessageType
{
Ad = 1,
Ask = 2
}
我使用 DTO 将数据从服务层传输到 UI 层。
在控制器中,我需要从服务层获取某种类型的所有消息:
_messageService.GetAllAds(MessageType.Ad);
由于域模型未映射到 UI 中,我如何将其传递给 UI?
谢谢
不久前,我在我的一个项目中遇到了这个问题。我最终将枚举复制到 UI 层,并且基本上有两个(几乎)相同的枚举(名称略有不同以区分它们)。本质上,它就像枚举的视图模型。
这不是一个很好的解决方案,如果我想出更好的东西,我可能会在以后重构我的项目,但它确实有效。这样做的一个好处是,您可以使用与 UI 相关的属性来装饰您的 UI 层枚举,这些属性在域层中根本没有意义。
你需要在你的控制器和服务之间提供一些共同的东西..无论是MessageType
你当前使用的枚举还是其他东西..也许你想string
在那里传递 a ,但我不推荐它。就我个人而言,我也不希望让控制器直接访问任何域实体(我使用视图模型代替),但对于枚举,我例外。
我的建议:允许控制器仍然使用该枚举。