1

这是关于 Entity Framework 5 RTM Code First。

当我映射具有现有枚举的实体时,我收到此错误:

找不到概念类型“[FULL ENUM TYPE NAME]”的对应对象层类型

实际上它在DbContext.

其他一些问题(Using Enums with Code First & Entity Framework 5)有一个答案指向一些博客文章,其中有一个关于如何使其工作的方法,但它谈到了数据库优先/模型优先方法。

如何使用 Code-First 方法添加 EDM 枚举类型?

4

1 回答 1

1

恐怕现在不可能 - EF5 http://entityframework.codeplex.com/workitem/532中存在已知错误,导致上述错误。

我正在努力解决类似的问题,但没有找到任何优雅的解决方案。我最终得到了int列而不是枚举列。

编辑(有问题的模型):

核心组件:

public enum UserStatus { Approved, Disabled }

public interface IUser {
    public int ID { get; }
    public string Username { get; set;}
    public UserStatus Status { get; set;}
}

用户组装:

public class User : IUser {
    public int ID { get; protected set; }
    public string Username { get; set; }
    public UserStatus Status { get; set; }
}
于 2012-11-23T23:50:44.277 回答