2012-03-19 48 views
9

試圖確認一個印象:似乎EF5 + Code First中的枚舉似乎只在與使用它們作爲屬性類型的類相同的名稱空間中聲明時才受支持。使用帶有代碼優先和實體框架的枚舉5

任何人都可以證實嗎?在網絡上找不到任何東西...

+0

EF5和Code First應該可以工作。如果他們不讓我知道。完全披露 - 這方面存在一個錯誤,但它是針對在單獨程序集中定義的枚舉 - http://entityframework.codeplex.com/workitem/532 – Pawel 2012-11-25 07:10:33

回答

1

早期修復的相關錯誤。 4.3 Beta 1發行說明說:

錯誤修復GetDatabaseValues。在早期版本中,如果您的實體類和上下文位於不同的名稱空間中,則此方法將失敗 。 現在已解決此問題,並且類不需要位於相同的 命名空間中以使用GetDatabaseValues。

我的猜測是GetDatabaseValues功能仍然是這個場合的錯誤(但這只是一個受過教育的猜測)。您可能想要在此處報告:ADO.NET team blog: EF5 Beta 1 Available

0

不僅您的枚舉必須位於同一名稱空間中才能得到EF5 Code First的支持,它們必須與您的POCO Model位於同一個類文件中。

+0

這是不正確的。本週我一直在玩EF5 Code First,我的主要模型有兩個屬性,即Enums,它們都在單獨的文件中。 – Nick 2013-02-15 16:13:45