簡體   English   中英

實體框架5中的代碼拳頭枚舉未添加到數據庫中

[英]Code fist enum in Entity Framework 5 not added to database

我在使用實體框架將枚舉映射到數據庫時遇到問題。 我設置了一個超級基礎類來測試我的問題:

public class Person
{
    public int PersonId { get; set; }
    public Genders Gender { get; set; }

    public enum Genders
    {
        Female, Male
    }
}

具有以下背景:

public DbSet<Person> Person { get; set; }

我正在使用MVC 4來創建映射我創建了一個新的控制器,其中Person作為模型,我的上下文作為上下文。 MVC腳手架創建控制器,視圖和數據庫但是當我查看數據庫時,有一個名為Person的表只有一列 - PersonId - 但沒有Gender列

額外信息:使用MVC 4定位.Net 4.5並使用Entity Framework 5.0(甚至雙重檢查dll版本)並連接到(LocalDb)\\ V11.0。

我試過將Genders改為:

public enum Genders : Byte
{
    Female = 0, 
    Male = 1
}

我甚至嘗試將Genders移動到一個單獨的類中,如同一個答案所示

我找到了一篇MSDN文章 ,它以與我工作相同的方式設置類,唯一的區別是它們使用的是控制台應用程序而不是MVC。

我錯過了什么嗎???

你必須在任何之外定義枚舉。 不要把它嵌入課堂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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