这是关于Entity Framework 5 RTM Code First。
当我映射具有现有枚举的实体时,我收到此错误:
无法找到相应的对象图层类型 输入'[FULL ENUM TYPE NAME]'
实际上它在DbContext
的同一名称空间中查找整个枚举。
其他一些问题(Using Enums with Code First & Entity Framework 5)有一个答案指向了一些博客文章,其中有关于如何使其工作的方法,但它讨论的是数据库优先/模型优先方法。
如何使用代码优先方法添加EDM枚举类型?
答案 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; }
}