实体集或函数导入'My_Table'未在实体容器中定义

时间:2017-10-30 18:24:58

标签: c# ef-code-first ef-code-first-mapping

我首先使用代码,一个包含大约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>();
    }

我无法找到任何错误,有没有人知道我可能会错过什么?

0 个答案:

没有答案