0
我已经使用过电动工具来逆向工程数据库。它首先使用代码创建类和映射。那里不是问题。实体框架4.1无效的对象名称'我'
,但是当我尝试运行下面的代码:
using (var tmp= new PdbContext("nameofdb")
{
try
{
tmp.Configuration.AutoDetectChangesEnabled = false;
var tmpUsr = (from t in tmp.DadosUtilizadores
where t.inactivo == false
select t).ToList();
}
finally
{
tmp.Configuration.AutoDetectChangesEnabled = true;
}
}
它抛出用以下文字异常。
无效的对象名称“我们”
我搜索在这里,结果发现,通过执行以下操作将解决我的问题:
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
,但它仍然不解决我的问题。 所以我检查了表的名称,它是正确的。 打开linqpad并试图访问数据,它没有任何问题的工作。有一件事引起了我的注意。该表有触发器,触发器会引发这种情况的问题吗?
为了更好地理解,下面的代码引用了我的上下文类,名为PdbContext 和名为UtilizadoresMap的映射类。
PdbContext类
public class PdbContext:DbContext
{
public DbSet<Fltcl> FiltrosClientes { get; set; }
public DbSet<Fltst> FiltrosStocks { get; set; }
public DbSet<Bo> DossiersInternos { get; set; }
public DbSet<Cl> DadosClientes { get; set; }
public DbSet<Utilizadores> DadosUtilizadores { get; set; }
public PdbContext(string valueConn):base(valueConn)
{
Database.SetInitializer<PdbContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new FltstMap());
modelBuilder.Configurations.Add(new FltclMap());
//modelBuilder.Configurations.Add(new ClMap());
modelBuilder.Configurations.Add(new UtilizadoresMap());
//teste
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
//
base.OnModelCreating(modelBuilder);
}
}
UtilizadoresMap类
public class UtilizadoresMap : EntityTypeConfiguration<Utilizadores>
{
public UtilizadoresMap()
{
.......
ToTable("us");
}
}
帮助将提前