EF6 覆盖个人 table 的模型构建器?

EF6 Override model builder for individual table?

我对我的项目有点了解,运行 成为多元化的绊脚石: 我需要它!

默认情况下,将我的“...历史”table 重命名为“...历史”。从许多文章中,我得到了以下内容:

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
  }

这太棒了,如果我想更改整个 dbcontext 以删除其他 15 table 已经依赖的复数形式。我添加了覆盖,我想要工作的 table 确实如此,许多其他人开始失败。

此时,有没有办法覆盖特定 table 的模型构建器,有些方法如何?如果没有,我该如何解决这个问题...

选项3)(丑陋):让EF命名我的tables?处理 "Histories" 和 "Lists"

使用:MVC5、EF6.0、VS 2015 社区,sql 2008 服务器通过连接字符串,代码优先。

使用 ToTable() 覆盖默认设置:

modelBuilder.Entity<History>().ToTable("History");

你也可以通过注释来完成:

[Table("History")]
public class History{}