我首先使用代码,一个包含大约60个表的数据库,标题上的错误发生在3个表上,我不明白为什么......
int count_manual = db.Database.SqlQuery<int>("select count(*) from My_Table").Single(); // This works
int count = db.My_Table.Count(); // this throws an exception
我得到的异常是“实体集或函数导入'My_Table'未在实体容器'My_Context'中定义”
这是我的bdset
public DbSet<My_Table> My_Table { get; set; }
这是我在My_Table的My_Context类中的唯一引用(包括区分大小写的检查)。
如果我将变量名称更改为其他任何名称,则可以。例如:
public DbSet<My_Table> My_Table_1 { get; set; }
我的模型创建被覆盖:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
我无法找到任何错误,有没有人知道我可能会错过什么?