我有一个文件 Unit.cs
public class Unit
{
public UnitType UnitTypeState {get;set;}
}
public enum UnitType
{
Folder = 0,
Teststeps = 1,
}
当我将枚举定义放入像 UnitDTO 这样的另一个类时,我得到了这个异常:
属性“UnitTypeState”不是类型“Unit”的声明属性。使用 Ignore 方法或 NotMappedAttribute 数据注释验证该属性是否已从模型中显式排除。确保它是有效的原始属性。
好吧,那不是真的,呵呵,属性 UnitTypeState 是 Unit 类中的已声明属性。
如何在不将枚举移回 Unit 类的情况下解决这个问题?
更新
我仍然对该错误进行了一些研究:
“在创建模型时不能使用上下文。”
奇怪的是,我在作为具有 UnitTyeState 属性的实体的父实体的实体上得到了这个异常?!
using (var context = new ITMS.DataAccess.ITMSContext())
{
return context.Templates.ToList();
}
所以似乎创建了模板实体然后抛出了这个异常?或者 EF 的行为是这样的:在所有每个实体或整个模型的第一次数据库访问中创建?