实体框架简单名称限制的解决方法?

Rom*_*kin 5 c# entity-framework

我有这样一个模型的一部分:

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; }

        // ...
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

当我尝试添加迁移时,出现错误:

类型'MyProject.RepeatDetails + DailyDetails + Types'和类型'MyProject.RepeatDetails + Types'都具有相同的简单名称'Types',因此不能在同一模型中使用.给定模型中的所有类型都必须具有唯一的简单名称.使用'NotMappedAttribute'或在Code First Fluent API中调用Ignore以从模型中明确排除属性或类型.

我知道EF的限制,你不能使用相同的简单类型.我现在可以做的是使用RepeatDetailsTypes,DailyDetailsTypes等重命名这些选项.但是我不想仅仅因为第三方库/库的限制而修改我的模型(此外,这个限制可以在下一个版本中删除EF).我想让其他开发人员保持我的代码清洁和简单.如果我以这种方式运行,我的代码中可能会出现一个巨大的混乱.

所以我想知道,是否有任何解决方法可以保持模型清洁并与EF一起使用?也许某种属性或其他什么?任何例子都将受到高度赞赏.