在本部分中,您将使用 EF 中的 Code First Migrations 来填充测试数据给数据库。
从 “工具” 菜单中选择 “NuGet 包管理器”,然后选择“ 包管理器控制台”。 在“包管理器控制台”窗口中,输入以下命令:
Enable-Migrations
此命令会将一个名为 Migrations 的文件夹添加到您的项目中,并在 Migrations 文件夹中添加一个名为 Configuration.cs 的代码文件。
打开Configuration.cs文件。 添加以下 using 语句。
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。
| 作者 | 说明 |
|---|---|
| GET api/authors (获取作者的 API) | 获取所有作者。 |
| GET api/authors/{id} | 按 ID 获取作者。 |
| POST /api/authors | 创建新作者。 |
| PUT /api/authors/{id} | 更新现有作者。 |
| DELETE /api/authors/{id} | 删除作者。 |
| 书籍 | 说明 |
|---|---|
| GET /api/books | 获取所有书籍。 |
| GET /api/books/{id} | 按 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 创建的表。
若要查看数据,请右键单击表并选择“ 查看数据”。
以下截图显示了“Books”表的结果。 请注意,EF 使用初始化数据填充了数据库,并且该表包含指向“作者”表的外键。