使用 Code First 移轉來植入資料庫
在本節中,您會在 EF 中使用 Code First 移轉將測試資料植入資料庫。
從 [工具] 功能表選取 [NuGet 套件管理員],然後選取 [套件管理員主控台]。 在「套件管理員控制台」視窗中,輸入以下命令:
Enable-Migrations
此命令會將名為 Migrations 的資料夾新增至您的專案,並在 Migrations 資料夾中新增名為 Configuration.cs 的程式碼檔案。
開啟 Configuration.cs 檔案。 使用 陳述式新增下列內容。
using BookService.Models;
然後將以下程式碼新增到 Configuration.Seed 方法中:
protected override void Seed(BookService.Models.BookServiceContext context)
{
context.Authors.AddOrUpdate(x => x.Id,
new Author() { Id = 1, Name = "Jane Austen" },
new Author() { Id = 2, Name = "Charles Dickens" },
new Author() { Id = 3, Name = "Miguel de Cervantes" }
);
context.Books.AddOrUpdate(x => x.Id,
new Book() { Id = 1, Title = "Pride and Prejudice", Year = 1813, AuthorId = 1,
Price = 9.99M, Genre = "Comedy of manners" },
new Book() { Id = 2, Title = "Northanger Abbey", Year = 1817, AuthorId = 1,
Price = 12.95M, Genre = "Gothic parody" },
new Book() { Id = 3, Title = "David Copperfield", Year = 1850, AuthorId = 2,
Price = 15, Genre = "Bildungsroman" },
new Book() { Id = 4, Title = "Don Quixote", Year = 1617, AuthorId = 3,
Price = 8.95M, Genre = "Picaresque" }
);
}
在「套件管理員控制台」視窗中,鍵入以下命令:
Add-Migration Initial
Update-Database
第一個命令會產生建立資料庫的程式碼,而第二個命令則會執行該程式碼。 資料庫會使用 LocalDB 在本機建立。
探索 API (選擇性)
按 F5 以在偵錯模式中執行應用程式。 Visual Studio 會啟動 IIS Express,並執行您的 Web 應用程式。 Visual Studio 接著會啟動瀏覽器,並開啟應用程式的首頁。
當 Visual Studio 執行 Web 專案時,它會指派通訊埠編號。 在下圖中,通訊埠編號為 50524。 當您執行應用程式時,可能會看到不同的通訊埠編號。
首頁是使用 ASP.NET MVC 來實作。 在頁面頂端,有一個連結表示「API」。 此連結會帶您前往 Web API 的自動產生說明頁面。 (若要瞭解如何產生此說明頁面,以及如何將自己的文件新增至頁面,請參閱建立 ASP.NET Web API 的說明頁面。) 您可以按下說明頁面連結,以查看 API 的詳細資料,包括要求和回應格式。
API 會在資料庫上啟用 CRUD 作業。 下列摘要說明 API。
Authors | 描述 |
---|---|
GET api/authors | 取得所有作者。 |
GET api/authors/{id} | 依識別碼取得作者。 |
POST /api/authors | 建立新作者。 |
PUT /api/authors/{id} | 更新現有的作者。 |
DELETE /api/authors/{id} | 刪除作者。 |
書籍 | 描述 |
---|---|
GET /api/books | 取得所有書籍。 |
GET /api/books/{id} | 依識別碼取得書籍。 |
POST /api/books | 建立新書籍。 |
PUT /api/books/{id} | 更新現有書籍。 |
DELETE /api/books/{id} | 刪除書籍。 |
檢視資料庫 (選擇性)
當您執行 Update-Database 命令時,EF 會建立資料庫並呼叫 Seed
方法。 當您在本機執行應用程式時,EF 會使用 LocalDB。 您可以在 Visual Studio 中檢視資料庫。 從 [檢視] 功能表選取 [SQL Server 物件總管]。
在 [連接到伺服器] 對話方塊中的 [伺服器名稱] 編輯方塊中,鍵入「(localdb)\v11.0」。 將 [驗證] 選項保留為 [Windows 驗證]。 按一下 連線。
Visual Studio 會連線到 LocalDB,並在 [SQL Server 物件總管] 視窗中顯示現有的資料庫。 您可以展開節點,以查看 EF 建立的資料表。
若要檢視資料,以滑鼠右鍵按一下表格並選取檢視資料。
下列螢幕擷取畫面顯示書籍資料表的結果。 請注意,EF 會將種子資料填入資料庫,而資料表包含 Authors 資料表的外部索引鍵。