使用代码第一个Entity Framework在数据库表上使用无效的对象名称

问题描述 投票:0回答:1

我正在使用Entity Framework代码优先迁移。我创建了一个迁移来更改数据库中表的名称:

public partial class ChangeNameOfCodePerformanceAnchorTable : DbMigration
{
    public override void Up()
    {
        RenameTable(name: "dbo.Code_PerformanceAnchor", newName: "CodePerformanceAnchor");
    }

    public override void Down()
    {
        RenameTable(name: "dbo.CodePerformanceAnchors", newName: "Code_PerformanceAnchor");
    }
}

现在,当我为该表创建控制器时...在Index操作中,我有:

public ActionResult Index()
{
    return View(db.CodePerformanceAnchor.Include(c => c.CodePhase).ToList());
}

当我运行应用程序以访问该特定索引页时,我收到此错误:

无效的对象名称'dbo.CodePerformanceAnchors'。

描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无效的对象名称'dbo.CodePerformanceAnchors'。

我的应用程序中唯一被称为CodePerformanceAnchors的是控制器。该模型是CodePerformanceAnchor

public virtual DbSet<CodePerformanceAnchor> CodePerformanceAnchor { get; set; }

任何有关解决此错误的帮助将不胜感激。

c# asp.net-mvc ef-code-first ef-migrations
1个回答
0
投票

表有2个名字:

CodePerformanceAnchor 和 CodePerformanceAnchors(最后的附加s)

你也可以查看this(Pluggable Conventions)或this(指定表名)

© www.soinside.com 2019 - 2024. All rights reserved.