【Web API系列教程】3.3 — 实战:处理数据(建立数据库)
前言
在本部分中,你将在EF上使用Code First Migration来用測试数据建立数据库。
在Tools文件夹下选择Library Package Manager,然后选择Package Manager Console。在包管理控制台窗体,输入下面命令:
Enable-Migrations
这条命令会加入一个名为Migrations的文件夹到你的项目。并加入一个名为Configuration.cs的代码文件到Migrations文件夹。
假设在BookService中出现多种上下文类型,请输入”Enable-Migrations –ContextTypeName BookService.Models.BookServiceContext”,具体请看下图。——译者注。
打开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" }
);
}
在Package Manager Console窗体,键入下面命令:
Add-Migration Initial
Update-Database
第一条命令生成用于创建数据库的代码,第二条命令执行那些代码。数据库使用LocalDB并创建于本地。
探索API(可选)
按F5在debug模式下执行应用程序。
Visual Studio启动IIS Express并执行你的web应用。Visual Studio会启动一个浏览器并打开app的主页。
当Visual Studio执行了这个web项目。它会给定一个port号。在下图中,port号是50524。
当你执行应用程序的时候。你可能会看到不同的port号。
主页使用ASP.NET MVC来实现。在页面顶部有一个写着“API”的链接。
该链接会带你去一个自己主动生成的关于Web API的帮助页面。(想了解这个帮助页面如何生成的。以及你如何加入你自己的文档进该页面,查看Creating Help Pages for ASP.NET Web API(http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages)。)你能够点击帮助页面的链接以查看API的具体信息,包括请求和对应的格式。
该API支持在数据库上执行CRUD操作。
下表是关于API的总结。
| Authors | 备注 |
|---|---|
| GET api/authors | Get all authors. |
| GET api/authors/{id} | Get an author by ID. |
| POST /api/authors | Create a new author. |
| PUT /api/authors/{id} | Update an existing author. |
| DELETE /api/authors/{id} | Delete an author. |
| Books | 备注 |
|---|---|
| GET /api/books | Get all books. |
| GET /api/books/{id} | Get a book by ID. |
| POST /api/books | Create a new book. |
| PUT /api/books/{id} | Update an existing book. |
| DELETE /api/books/{id} | Delete a book. |
查看数据库(可选)
当你执行了Update-Database命令,EF会创建数据库并调用Seed方法。当你在本地执行了应用程序后,EF会使用LocalDB。你能够在Visual Studio中查看数据库。
在View文件夹下,选择SQL Server Object Explorer。
在Connect to Server对话框中。在Server Name编辑框,键入“(localdb)\v11.0”。保留Authentication选项为”Windows Authentication”。
点击Connect。
Visual Studio会连接到LocalDB并在SQL Server Object Explorer窗体显示已经存在的数据库。你能够展开该节点查看EF创建的表。
为了看到数据。右击一个表并选择View Data。
下面的截图显示了Books表的结果。
注意EF通过seed数据聚集了数据库,而且该表包括了指向Authors表的外键。
【Web API系列教程】3.3 — 实战:处理数据(建立数据库)的更多相关文章
- ASP.NET Web API系列教程目录
ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...
- ASP.NET Web API系列教程(目录)(转)
注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内 ...
- [转]ASP.NET Web API系列教程(目录)
本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ...
- Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然使用上一季的的项目背景(系列地址http://www.cnblogs.com/fzrain/p/34 ...
- Web Api系列教程第2季(OData篇)(一)——OData简介和一个小应用
第一季的链接以及系列导航:http://www.cnblogs.com/fzrain/p/3490137.html 在这里,首先要感谢Taiseer Joudeh不断的为我们带来最新的技术分享,楼主对 ...
- 【转】ASP.NET WEB API系列教程
from: 西瓜小强 http://www.cnblogs.com/risk/category/406988.html ASP.NET Web API教程(六) 安全与身份认证 摘要: 在实际的项目应 ...
- [转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
本文转自:http://www.cnblogs.com/fzrain/p/3923727.html 前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然 ...
- 【Web API系列教程】1.1 — ASP.NET Web API入门
前言 HTTP不仅仅服务于web页面.同一时候也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的差点儿全部平台都包括有一个HTTP库.所以HTTP服务能够遍及 ...
- Hello Web API系列教程——Web API与国际化
软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...
随机推荐
- (精品)微信支付android端
PayingActivity.java public void WxPay(){ // new Thread(new Runnable() { // @Override // public void ...
- 基于jQuery悬停图片变色放大特效
分享一款基于jQuery悬停图片变色放大特效是一款响应式鼠标悬停图片放大效果代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div style="width ...
- Linxu磁盘分区
http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux.php#hardware_know(好文章) http://blog.chinaunix ...
- Go学习笔记 - 关于Java、Python、Go编程思想的不同
***看了两周七牛团队翻译的<Go语言程序设计>,基本上领略到了Go语言的魅力.学习一个语言,语法什么的任何人都是很容易学会,难就难在充分领略到这门编程语言的思想.*** ## 面向对象 ...
- for语句练习 阶乘
4的阶乘:4!=1*2*3*4 public class g { /** * @param args */ public static void main(String[] args) { int n ...
- [转]Java中的POJO类
简单的Java对象(Plain Old Java Objects)实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter se ...
- Redis (1) —— 安装
Redis (1) -- 安装 摘要 介绍Mac OS X安装Redis基本方法 版本 Redis版本: 2.8.24 内容 下载Redis包 地址:http://download.redis.io/ ...
- 配置Chrome Workspace功能
配置Chrome Workspace功能 Chrome Workspace功能是将在Chrome开发者工具(F12)中对文档的修改直接应用于对应文件中.由于Chrome并不知道当然文档对应用的文件为哪 ...
- Java编程的逻辑 (31) - 剖析Arrays
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- Z律师:创业项目如何玩转股权众筹?
原文地址:http://mt.sohu.com/20150619/n415345889.shtml 大家好,这是Z律师创业学院第一期的结业课了,正式集中的课程,就到今天为止,未来有机会,还是会不定期安 ...