zoukankan      html  css  js  c++  java
  • 【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表的外键。

    这里写图片描写叙述

  • 相关阅读:
    surfer插值方法及提取插值结果 转载
    Surfer的grd数据转换成gmt可用的grd数据方法
    Appium+Python3+ Android入门
    Flask入门的第一个项目
    测试报告模板
    火狐浏览器之伪造IP地址
    获取apk的签名信息
    初识kibana
    Fiddler模拟post四种请求数据
    Python-正则表达式
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7383896.html
Copyright © 2011-2022 走看看