我剛剛獲得了Visual-Studio 2012 Professional,並使用了Entity-Framework(5.0)設計器。我一直在嘗試將一個屬性轉換爲Enum,並根據this Microsoft video我右鍵單擊該屬性並在(2:06)處選擇Convert to Enum
- 在我的上下文菜單中沒有用於轉換的選項。轉換爲枚舉
這裏我試圖將角色轉換爲枚舉。我已將Role設置爲Int32。
我在做什麼錯?
我剛剛獲得了Visual-Studio 2012 Professional,並使用了Entity-Framework(5.0)設計器。我一直在嘗試將一個屬性轉換爲Enum,並根據this Microsoft video我右鍵單擊該屬性並在(2:06)處選擇Convert to Enum
- 在我的上下文菜單中沒有用於轉換的選項。轉換爲枚舉
這裏我試圖將角色轉換爲枚舉。我已將Role設置爲Int32。
我在做什麼錯?
緊隨帖子後面的視頻,我打開Model Browser
手動添加Enum。完成之後,並將角色設置爲我創建的枚舉。爲了測試我現在是否可以在該屬性上使用Convert To Enum
,我將該類型更改回Int32,然後右鍵單擊該屬性,然後低下,並看到我在上下文菜單中看到Convert To Enum
選項!
因此,如果您有問題,這些是我用來啓用Convert To Enum
選項的步驟。這在我看來是一種破解,因爲現在我無法用新的解決方案和項目重現這種行爲。顯然,一旦模型瀏覽器第一次打開(或完成下面的步驟),它現在顯示Convert To Enum
選項。
-1。使用快速啓動搜索窗口,我輸入Model Browser
並打開它。
-2。從數據模型的模型瀏覽器中右鍵單擊Enum Types
選擇Add New Enum Type...
。
-3。將您的屬性設置爲枚舉,滾動到組合框中列出類型的底部,然後選擇枚舉。
當您嘗試將其轉換爲枚舉屬性之前屬性的類型是什麼?僅當屬性的類型是可以是枚舉基礎類型的類型之一--Edm.Byte,Edm.SByte,Edm.Int16,Edm.Int32或Edm.Int64時,纔可以使用「轉換爲枚舉」選項。如果屬性類型不是這些類型中的一種,則不能直接將其轉換爲枚舉,因爲設計人員不知道底層類型應該是什麼,更重要的是它是否適用於您的數據庫。
,Enum Types Folder olny就會出現如果你注意到了,我發佈它是一個Int32。 –
我一定錯過了它。你是否有步驟重複這一貫(或我可以打開看到這個和調查)? – Pawel
在我的回答中,我說我在修復它後無法再現它。我能想到的唯一選擇是重新安裝VS2012並添加新項目C#Lightswitch,然後添加C#類庫,添加ADO.Net實體項目,右鍵單擊添加實體(不使用工具箱並且不要單擊模型瀏覽器),然後添加一個屬性,將其類型設置爲int32,然後嘗試右鍵單擊轉換爲枚舉。這就是我之前做的簡而言之,儘管在嘗試創建枚舉之前我先添加了其他幾個實體和一些關聯。 –
我也有這個問題!我將實體框架從4改爲4.5,問題解決了! ;)
當我遇到同樣的問題時,解決方案是將Target Framework設置爲「.NET Framework 4.5」。
這很奇怪,我沒有在我的模型瀏覽器中看到'Enum Types'文件夾。 –
@asattar請注意,如果你的目標是.Net Framework 4.5 –