0

我有点进入我的项目,并进入了一个多元化的绊脚石: 我需要它!EF6覆盖单个表格的模型生成器?

默认情况下,将我的“...历史”表重命名为“...历史”。从很多很多的文章,我得到了下面这段倍率:

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

这是伟大的,如果我想在改变整个的DbContext去除多元化,其中其他15桌都来依靠。我添加了覆盖,我想要工作的一张桌子,许多人开始失败。

在这一点上,有没有一种方法可以覆盖特定表的模型构建器,有些如何?如果不是,我该如何解决这个问题...

选项3)(难看):让EF命名我的表?处理“历史”和“列表”

使用:MVC5,EF6.0,VS 2015社区,SQL 2008服务器通过connectionstring,代码优先。

回答

1

覆盖使用ToTable()默认:

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

您可以通过注释做得一样好:

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

添加表( “NonPluralName-MYNAMEDONTCHANGE”)工作就像一个魅力上它试图复数的一张新桌子。 谢谢!我将不得不看看我是否可以通过这种方式追溯适合其他模型。...... –

+1

Yay,回到模型并将标记添加到我想要的表格中,然后运行添加迁移立即生成重命名。 Woop Woop! –