通用存储库,嵌套类映射

时间:2012-05-30 20:22:28

标签: c# .net entity-framework-4.1 nested-class

我正在尝试生成通用存储库。到现在为止还挺好。 但我得到的错误与之前发布的其他人一样: Mapping to a nested class

问题在于我显然正在尝试映射嵌套类。我该如何解决这个问题,所以我不再映射嵌套类了?

编辑: 那应该不是问题。

namespace MvcApplication1.Models
{
    public class MyContext :DbContext
    {

        public DbSet<ALBUM> Albums { get; set; }
        ...
}
}

例如ALBUM:

[EdmEntityTypeAttribute(NamespaceName="MyDbModel", Name="ALBUM")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ALBUM : EntityObject

为什么不允许类ALBUM映射?

2 个答案:

答案 0 :(得分:4)

这是您收到的错误消息。

System.InvalidOperationException:未映射“ContactModels + Contact”类型。使用Ignore方法或NotMappedAttribute数据批注检查未明确排除类型。验证类型是否已定义为类,不是原始类,嵌套类或泛型类,并且不从EntityObject继承。

这是你要映射的课程:

[EdmEntityTypeAttribute(NamespaceName="MyDbModel", Name="ALBUM")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ALBUM : EntityObject

你正在从EntityObject开始。它就在那里说。你无法映射它。

答案 1 :(得分:1)

嵌套意味着你在类中有一个类,只需提取嵌套类。

你可能有这样的事情:

public class SampleClass
{
      public class NestedClass
      {
      }
}

将其更改为:

public class SampleClass
{}

public class NotNestedClass
{}
相关问题