0

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

我找不到任何问题,有没有人知道我可能缺少什么?

4

0 回答 0