Entity framework 什么';当代码第一次使用表名进行逆向工程时是错误的;“对象”;
我首先使用Entity Framework Power Tools Beta 2来反向工程代码。在数据库中有一个表名“Object” 当我测试时,它会给我以下错误: 未映射类型“TestEFPowerTools.Models.Object”。检查是否未使用Ignore方法或NotMappeAttribute数据批注明确排除该类型。验证该类型是否定义为类、是否为基元、嵌套或泛型,以及是否从EntityObject继承 我评论完之后Entity framework 什么';当代码第一次使用表名进行逆向工程时是错误的;“对象”;,entity-framework,Entity Framework,我首先使用Entity Framework Power Tools Beta 2来反向工程代码。在数据库中有一个表名“Object” 当我测试时,它会给我以下错误: 未映射类型“TestEFPowerTools.Models.Object”。检查是否未使用Ignore方法或NotMappeAttribute数据批注明确排除该类型。验证该类型是否定义为类、是否为基元、嵌套或泛型,以及是否从EntityObject继承 我评论完之后 public DbSet<Object> Object
public DbSet<Object> Objects { get; set; }
modelBuilder.Configurations.Add(new ObjectMap());
公共数据库集对象{get;set;}
添加(新的ObjectMap());
在上下文文件中,一切正常。如何修复它,或者它是power tools中的一个bug?对象在C#中是一个保留字,不过您可以通过将类映射到对象以外的其他对象,并使用fluent或数据注释映射到对象表来解决这个问题。如果可能的话,我会重新命名这个表 将类名从Object更改为其他名称,例如ObjectData。将对对象的所有引用重命名为ObjectData:
public class ObjectData ()
{
}
public DbSet<ObjectData> ObjectDatas {get;set;}
公共类ObjectData()
{
}
公共DbSet ObjectDatas{get;set;}
在配置中,添加到其他表的映射:
public class ObjectData Map : EntityTypeConfiguration<ObjectData>
{
public ObjectDataMap()
{
//other mappings
this.ToTable("Object");
}
}
公共类ObjectData映射:EntityTypeConfiguration
{
公共对象数据映射()
{
//其他映射
本表为可转让(“对象”);
}
}
对象在C#中是一个保留字,不过您可以通过使用fluent或数据注释将类映射到Object以外的其他对象,并映射到Object表来解决此问题。如果可能的话,我会重新命名这个表
将类名从Object更改为其他名称,例如ObjectData。将对对象的所有引用重命名为ObjectData:
public class ObjectData ()
{
}
public DbSet<ObjectData> ObjectDatas {get;set;}
公共类ObjectData()
{
}
公共DbSet ObjectDatas{get;set;}
在配置中,添加到其他表的映射:
public class ObjectData Map : EntityTypeConfiguration<ObjectData>
{
public ObjectDataMap()
{
//other mappings
this.ToTable("Object");
}
}
公共类ObjectData映射:EntityTypeConfiguration
{
公共对象数据映射()
{
//其他映射
本表为可转让(“对象”);
}
}
Nit:Object
不是保留字<代码>对象为<代码>对象通常重新解析为系统。对象
,但可以使用s使用不同的。。尽管我怀疑将它映射到另一个名称仍然可以解决/避免这个问题。我没有修改表名的权限。在不重命名的情况下解决问题的最佳方法是什么?Nit:Object
不是保留字<代码>对象
为<代码>对象通常重新解析为系统。对象
,但可以使用s使用不同的。。尽管我怀疑将它映射到另一个名称仍然可以解决/避免这个问题。我没有修改表名的权限。解决此问题而不重命名的最佳方法是什么?