EF6 Code First多个表无效的对象名称

时间:2013-12-08 18:26:24

标签: entity-framework ef-code-first entity-framework-6

无论我做什么,EF6都会复制我的Code First表名。我收到错误,它无法找到复数表{“无效的对象名称'dbo.TestStats'。”}。该表在DB中是单数的dbo.TestStat

我尝试通过

删除约定
protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

我还将它映射到单数表名称

    public TestStatMap()
    {
        // Primary Key
        this.HasKey(t => t.TestStatId);

        this.ToTable("TestStat");

我甚至尝试将此添加到OnModelCreating覆盖

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

以下是我试图将其映射到的表格,该表格由EF电动工具生成。我还能尝试什么或者我缺少什么?

CREATE TABLE [dbo].[TestStat] (
[TestStatId] [int] NOT NULL IDENTITY,
[SeasonID] [int],
[TeamID] [int],
CONSTRAINT [PK_dbo.TestStat] PRIMARY KEY ([TestStatId])

2 个答案:

答案 0 :(得分:1)

弄清楚自己的错误。我有两个Context类,一个继承自另一个用于存储库,我在底层上下文中有下面的代码,当我将它移动到派生它现在可以工作时。 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

答案 1 :(得分:-1)

如果使用.net 4.5从app.config/web.config

中删除此行
 <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup>