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

时间:2013-12-24 11:40:25

标签: 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; }

        // ...
    }

    // ...
}

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

  

类型'MyProject.RepeatDetails + DailyDetails + Types'和类型   'MyProject.RepeatDetails + Types'都具有相同的简单名称   “类型”等不能在同一模型中使用。给定的所有类型   model必须具有唯一的简单名称。使用'NotMappedAttribute'或调用   忽略Code First流畅的API以明确排除属性   或从模型中输入。

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

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

0 个答案:

没有答案