为方便起见,我有几个带有嵌套枚举的参考实体。例如:
public class StatusA
{
public enum Values
{
Active = 1,
Inactive = 2,
InProgress = 3
}
}
public class StatusB
{
public enum Values
{
Sent = 1,
Accepted = 2,
Expired = 3
}
}
public class EntityA
{
public StatusA.Values Status {get; set;}
}
public class EntityB
{
public StatusB.Values Status {get; set;}
}
我在模型配置时遇到以下异常:“StatusA+Values”类型和“StatusB+Values”类型都具有相同的简单名称“Values”,因此不能在同一模型中使用。给定模型中的所有类型都必须具有唯一的简单名称。在 Code First fluent API 中使用“NotMappedAttribute”或调用 Ignore 以从模型中显式排除属性或类型。
试图修复它我发现 NotMappedAttribute 不适用于枚举。我还尝试了 fluent API .Ignore<T>
(也需要 ref 类型,而不是枚举)和.Ignore(IEnumerable<Type>)
,但没有运气。谷歌搜索也不是很有帮助。
有没有其他方法可以从模型中排除这些枚举?