[英]Entity Framework Enum in Controller
我在域模型中有一個枚舉:
public enum MessageType
{
Ad = 1,
Ask = 2
}
而且我使用DTO將數據從服務層傳輸到UI層。
在控制器中,我需要從服務層獲取特定類型的所有消息:
_messageService.GetAllAds(MessageType.Ad);
由於域模型未在UI中映射,因此如何將其傳遞給UI?
謝謝
我前一段時間在一個我的項目中遇到了這個問題。 我最終將枚舉復制到UI層中,並且基本上擁有兩個(幾乎)相同的枚舉(名稱稍有不同以區別它們)。 本質上,它就像枚舉的視圖模型。
這不是一個很好的解決方案,如果我想出更好的東西,我可能會在以后重構我的項目,但是它可以工作。 這樣的好處之一是,您可以使用與UI相關的屬性來裝飾UI層枚舉,而這些屬性在域層中根本就沒有意義。
您需要使Controller和服務之間有一些共同點。.無論是您當前正在使用的MessageType
枚舉,還是其他一些事情。.也許您想在其中傳遞一個string
,但我不建議這樣做。 就我個人而言,我也不想讓控制器直接訪問任何域實體(我改用視圖模型),但是對於枚舉,我是一個例外。
我的建議:允許控制器仍然使用該枚舉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.