影片講解(有字幕)
學一個東西不免會想試試範例的執行結果,但如果我是連線SQL Server的話,就算提供範例檔,你也沒有辦法執行,因為還缺少在SQL Server上建立對應的資料庫。
因此這邊的教學的範例檔,我會將資料庫連線的部分改成連線LocalDB,也就是連一個檔案的資料庫。這樣想試的人就可以下載我之後的範例檔,就可以直接測試了。
點選最下方的下載可取得範例檔,然後進行解壓縮如下圖。
其中有兩個檔Todo.ldf
跟Todo.mdf
將它們放到D碟跟目錄,你想放到其他地方也行,但要注意路徑不要有中文,不然可能會出錯,然後就是修改AttachDbFilename的路徑位置。
接著到開啟專案,到套件管理主控台,下以下指令測試是否成功(如果你跟我一樣放D碟就不用修改參數)
Scaffold-DbContext "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\Todo.mdf;Integrated Security=True;Connect Timeout=30" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force -CoNtext TodoContext
另外這個參數比之前多了-CoNtext
是用來自訂產生出來的Context檔案的名稱,因為預設上會依AttachDbFilename來做命名,但我這邊AttachDbFilename是D:\Todo.mdf,所以會命出不太好看的名稱,故這邊自訂名稱。
那成功畫面如下,顯示Build succeeded.就是成功了。
請注意第一次一定要做下指令這個動作,這個動作除了會幫你產生資料庫物件,也會將這個檔案資料庫連結掛上本地的(localdb)\MSSQLLocalDB上,沒掛上去會無法正常連線。
那日後可能我的範例資料庫會做更新,屆時把新的檔案資料庫覆蓋原來的,然後再重下一次指令即可。
最後你可以先來試試,是否指令能成功呢?下一篇就要先示範,如何從資料庫取出資料。
想要聽多一些廢話的可以看影片
新手分享學習成果,若有錯誤,煩請告知修正,感謝🙏