Неверное имя объекта с использованием кода сначала Entity Framework в таблице базы данных - PullRequest
0 голосов
/ 07 марта 2019

Я использую 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'.

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Data.SqlClient.SqlException: недопустимое имя объекта 'dbo.CodePerformanceAnchors'.

Единственное, что в моем приложении называется CodePerformanceAnchors, это контроллер. Модель CodePerformanceAnchor.

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

Любая помощь в устранении этой ошибки будет принята с благодарностью.

1 Ответ

0 голосов
/ 07 марта 2019

У вас есть 2 имени для таблицы:

CodePerformanceAnchorа такжеCodePerformanceAnchors (дополнительные s в конце)

Вы также можете проверить this (Pluggable Conventions) или this (указав имя таблицы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...