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表的外键。

    这里写图片描写叙述

  • 相关阅读:
    环境是如何建立的 启动文件有什么
    环境中存储的是什么
    串行 并行 异步 同步
    TPC-H is a Decision Support Benchmark
    进程通信类型 管道是Linux支持的最初Unix IPC形式之一 命名管道 匿名管道
    删除环境变量
    14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚
    14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚
    14.3.2.1 Transaction Isolation Levels 事务隔离级别
    14.3.2.1 Transaction Isolation Levels 事务隔离级别
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7383896.html
Copyright © 2011-2022 走看看