我在域模型的枚舉:實體框架的枚舉控制器
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?
謝謝
我在一個項目中遇到了這個問題。我最終將enum複製到UI層,並基本上有兩個(幾乎)相同的枚舉(使用略有不同的名稱來區分它們)。本質上,它就像一個枚舉的視圖模型。
這不是一個好的解決方案,如果我想出更好的東西,但它可以工作,我可能會在稍後重構我的項目。這樣做的一個好處是,你可以用UI相關屬性修飾你的UI層enum,這些屬性在域圖層中根本沒有意義。
你需要讓你的控制器和服務之間共同可用的東西..這是否是你目前正在使用的MessageType
枚舉或一些其他的事情..也許你想傳遞一個string
在那裏,但我不會」 t推薦它。就我個人而言,我也不想讓任何域實體可以直接從控制器訪問(我使用視圖模型),但是對於枚舉,我會例外。
我的建議:允許控制器仍然使用該枚舉。