【问题标题】:SqlException: Invalid object name 'Movie'SqlException:无效的对象名称“电影”
【发布时间】:2017-05-08 18:39:20
【问题描述】:

我正在尝试按照下面链接中的教程创建一个应用程序,该应用程序显示来自数据库的电影列表,具有 crud 功能,但我正在尝试添加用户登录。 https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/

我一直在试图弄清楚如何添加和更新电影数据库的迁移。当我在没有用户登录的情况下按照教程进行操作时,我能够做到这一点,但是一旦我添加了用户登录,似乎有一个我没有发现的问题。

创建模型类后,我正在尝试应用以下步骤进行迁移

  1. 转到命令行并访问包含项目的文件夹 它
  2. 应用以下命令
    • dotnet restore
    • dotnet ef migrations add --context MvcMovie2Context (当我运行这个命令时,我得到 (Missing required argument ''.) 错误)
    • dotnet ef database update --context MvcMovie2Context (这个命令似乎由于某种原因起作用)

当我运行应用程序并单击电影链接时,我收到以下错误

SqlException: Invalid object name 'Movie'.
System.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__107_0(Task<SqlDataReader> result)

我查看了我的模型、视图和控制器类,以检查我是否输入了拼写错误或语法错误,这会导致对象名称“电影”无效,所以我认为这意味着我的电影数据库没有创建.

我已经按照教程多次重启了项目

我附上了命令行错误和浏览器错误的截图。如果有人可以提供任何提示或建议,我将不胜感激。谢谢!

【问题讨论】:

    标签: c# sqlite asp.net-core asp.net-core-mvc entity-framework-core


    【解决方案1】:

    即使所有表都已正确创建,我也遇到了类似的错误。原来我的连接字符串是错误的。

    【讨论】:

    • 为我节省了几个小时!非常感谢:)
    【解决方案2】:

    由于错误为SqlException: Invalid object name 'Movie',这意味着名为“电影”的表尚未创建或您所引用的数据库尚未创建。

    要查看是否已创建数据库或表“电影”,请打开 SQL Server 对象资源管理器并检查数据库名称是否与 appsettings.json 中的相同。如果尚未创建数据库或表,则可能需要迁移。

    要迁移,请打开 Tools-&gt; NuGet Package Manager-&gt; Package Manager Console 并点击以下命令:

    1. Add-Migration MigrationName
    2. Update-Database

    然后再次检查 SQL Server 对象资源管理器或构建并运行您的项目。

    【讨论】:

    • 很好的答案。我完全错过了那一步。我希望我可以将其标记为“正确”。
    • 在我的例子中,表名是“States”,而在 ApplicationDbContext 中,我将它用作 DBSet 的 State。使其复数(州)解决了我的问题
    【解决方案3】:

    您的数据库中有MoviesMovie 表吗?

    既然你说dotnet ef migrations add --context MvcMovie2Context 失败,让我相信你的模型没有反映在数据库模式中。此外,据我所知,您需要提供迁移名称,这可能就是您收到错误的原因。

    请尝试运行以下命令。

    1.dotnet ef migrations add "AddedMovieEntity" --context MvcMovie2Context

    2.dotnet ef database update --context MvcMovie2Context

    希望这次第 1 步能够成功运行,从那里您应该会看到一个包含电影实体架构的迁移文件。在第 2 步之后,您应该会在数据库中看到相应的表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-14
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      相关资源
      最近更新 更多