实体框架5 RTM代码第一个枚举支持已损坏:其他命名空间中的枚举

时间:2012-11-23 10:42:34

标签: c# .net entity-framework .net-4.5 entity-framework-5

这是关于Entity Framework 5 RTM Code First。

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

  

无法找到相应的对象图层类型   输入'[FULL ENUM TYPE NAME]'

实际上它在DbContext的同一名称空间中查找整个枚举。

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

如何使用代码优先方法添加EDM枚举类型?

1 个答案:

答案 0 :(得分: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; }
}