1

我已經使用實體框架5構建了代碼優先的模型。 這些類有幾個枚舉。實體框架中的枚舉缺失列

我將模型類放入ASP.NET MVC原型項目中。 我還添加了

Database.SetInitializer(new DropCreateDatabaseAlways<dbType>()); 

命令到的global.asax.cs文件。

在Visual Studio中運行MVC應用程序產生了我想要的SQL Server(2008 R2)中的數據庫模式。 (int值爲列的枚舉)

然後,我將模型代碼複製到實際使用它的解決方案中,該解決方案將拆分爲幾個項目,一個具有EF代碼,另一個是ASP.NET MVC部分。

我還添加了相同的初始值設定的global.asax.cs

現在,當我運行該項目,我得到在數據庫中的正確表,但對於一些奇怪的原因,枚舉列從失蹤表!

如何讓EF生成枚舉列?

+0

您的新項目是否配置爲使用.NET 4.5?將Target框架設置爲.NET 4.5後,是否通過NuGet添加了EF引用? –

+0

其實我的原型是4.5,我試圖將模型移動到4.0的項目。那是問題嗎? –

+0

啊,就是這樣!我將4.0項目升級到4.5,現在enum列出現了!拉迪斯拉夫說,如果沒有你的評論,我不會想到這一點。隨意回答這個問題,我會評價它作爲最佳答案。 –

回答

13

Enum支持依賴於.NET 4.5,所以它只會在項目針對.NET 4.5時才起作用。