簡體   English   中英

控制器中的實體框架枚舉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM