我有一个这样的模型:

namespace Ad.NegCred.Data.Model {
    public enum DataKind {
        F, //Takibe alınıp henüz tahsil edilmeyen ferdi kredi bildirimi
        FA, //Aynı dönemde takibe alınan ve tahsil edilen ferdi kredi bildirimi
        FF, //daha önceki dönemlerde takibe alındığı bildirilmiş ferdi kredi tahsil bildirimi
        K, //Takibe alınıp henüz tahsil edilmeyan kredi kartı
        KA, //Aynı dönemde takibe alınan ve tahsil edilen kredi kartı
        KF //Daha önceki dönemlerde takibe alındığı bildirilmiş kredi kartı tahsil    bildirimi
    }

    public class Datum {
        [Key]
        public long Id { get; set; }
        public DataKind Kind { get; set; }
        [StringLength(25, MinimumLength = 2)]
        public string Name { get; set; }
    }
}


由EF创建数据库时,将创建除Kind列以外的所有列。也不会创建属于此处未显示的复杂类型一部分的另一个枚举列。

EF 5为什么会这样表现?有我不知道的设置吗?

最佳答案

您似乎正在使用EF5和目标.NET Framework 4,这将不起作用,因为EntityFrameork.dll使用的.NET Framework 4中的System.Data.Entity.dll无法处理枚举。您需要迁移到EF5和.NET Framework 4.5或EF6,您可以在其中定位.NET Framework 4并使用枚举,因为EF6不再依赖.NET Framework中附带的组件。

10-06 13:29