【发布时间】:2019-07-29 10:59:02
【问题描述】:
我正在使用实体框架代码优先迁移。我创建了一个迁移来更改数据库中表的名称:
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");
}
}
现在,当我为该表创建控制器时.. 在索引操作上我有这个:
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; }
对于解决此错误的任何帮助将不胜感激。
【问题讨论】:
-
Pluralization 是默认值。检查数据库中表的实际名称。
标签: c# asp.net-mvc ef-code-first entity-framework-migrations