SqlException:無效的對象名稱'Movie'

asp.net-core asp.net-core-mvc c# entity-framework-core sqlite

我正在嘗試按照以下鏈接中的教程創建一個應用程序,該應用程序顯示來自具有crud功能的數據庫的電影列表,但我正在嘗試添加用戶登錄。 https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/

我一直在試圖找出如何添加和更新Movie數據庫的遷移。當我在沒有用戶登錄的情況下按照教程進行操作時,我能夠做到這一點,但是一旦我添加了用戶登錄,就會出現一個我無法捕獲的問題。

在創建模型類之後,我嘗試將以下步驟應用於遷移

  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)

我查看了我的模型,視圖和控制器類,以檢查我是否輸入錯誤或語法錯誤導致對象名稱“電影”無效,所以我認為這意味著我的電影數據庫沒有被創建。

我按照教程多次重啟了項目

我附上了命令行錯誤和瀏覽器錯誤的屏幕截圖。如果有人有任何可以提供給我的提示或建議,我將不勝感激。謝謝!

錯誤消息

熱門答案

由於錯誤是SqlException: Invalid object name 'Movie' ,這意味著尚未創建名為“Movie”的表,或者您創建的數據庫尚未創建。

要查看數據庫或表'Movie'是否已創建,請打開SQL Server對象資源管理器並檢查數據庫名稱是否與appsettings.json的相同。如果尚未創建數據庫或表,則可能需要遷移。

要進行遷移,請打開Tools-> NuGet Package Manager-> Package Manager Console然後單擊以下命令:

  1. Add-Migration MigrationName
  2. Update-Database

然後再次檢查SQL Server對象資源管理器或構建並運行您的項目。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow