我有这样一个模型的一部分:
public class RepeatDetails
{
public enum Types { Daily = 0, Weekly = 1, Monthly = 2, Yearly = 3 }
public Types Type { get; set; }
public DailyDetails Daily { get; set; }
public class DailyDetails
{
public enum Types { EveryDay = 0, EveryWorkingDay = 1 }
public Types Type { get; set; }
// ...
}
// ...
}
当我尝试添加迁移时,出现错误:
类型'MyProject.RepeatDetails + DailyDetails + Types'和类型 'MyProject.RepeatDetails + Types'都具有相同的简单名称 “类型”等不能在同一模型中使用。给定的所有类型 model必须具有唯一的简单名称。使用'NotMappedAttribute'或调用 忽略Code First流畅的API以明确排除属性 或从模型中输入。
我知道EF限制,你不能使用相同的简单类型。我现在可以做的是使用RepeatDetailsTypes,DailyDetailsTypes等重命名这些选项。但是我不想仅仅因为第三方库/库的限制而修改我的模型(此外,这个限制可以在下一个版本中删除EF)。我希望将我的代码保持清洁,让其他开发人员更容易。如果我以这种方式运行,我的代码中可能会出现一大堆混乱。
所以我想知道,是否有任何解决方法可以保持模型清洁并与EF一起使用?也许某种属性或其他什么?任何例子都将受到高度赞赏。