1

我使用 Entity Framework Power Tools Beta 2 对 Code First 进行逆向工程。在数据库中有一个表名“对象”。

当我测试时,它给了我这个错误:

未映射类型“TestEFPowerTools.Models.Object”。使用 Ignore 方法或 NotMappedAttribute 数据注释检查该类型是否被显式排除。验证该类型是否被定义为一个类,不是原始的、嵌套的或泛型的,并且不是从 EntityObject 继承的。

在我注释掉之后

public DbSet<Object> Objects { get; set; }

modelBuilder.Configurations.Add(new ObjectMap());

在上下文文件中,一切正常。我该如何修复它还是电动工具中的错误?

4

1 回答 1

5

Object 是 C# 中的保留字,它是 Everything 的基类,尽管您可以通过将类重命名为 object 以外的其他内容,并使用流利或数据注释映射到 object 表来解决此问题。如果可能的话,我会重命名表格。

将您的类名从 Object 更改为其他名称,例如 ObjectData。将所有对 Object 的引用重命名为 ObjectData:

public class ObjectData ()
{

}

public DbSet<ObjectData> ObjectDatas {get;set;}

在配置中,将映射添加到不同的表:

public class ObjectData Map : EntityTypeConfiguration<ObjectData>
{
  public ObjectDataMap()
   {
     //other mappings
     this.ToTable("Object");
   }

}
于 2012-08-08T20:57:54.613 回答