一、创建脚本工具并执行初始迁移

在本节中,您将使用包管理控制台(PMC)来更新数据库:

•添加VisualStudio Web代码生成包。这个包是运行脚本引擎所必需的。

• 执行Add-Migration Initial生成代码文件。

• 执行Update-Database命名,更新数据库。

  1. 从菜单中选择“工具àNuGet包管理器器—>程序包管理器控制台”菜单。

2. 在PMC中,输入以下命令:

1) Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design,如下图。

2) 上面的命令执行完毕之后,输入 Add-Migration Initial。如下图。

3. 在上面的命令执行完毕之后,会在项目中增加Migrations目录和用于创建初始数据库的代码,如下图。这些代码是基于DbContext指定的模型(在Models/ BookCntext.cs)。初始参数用于命名迁移。您可以修改成任何名称,但按惯例您可以选择描述迁移的名称。

4. 在上面的命令执行完毕之后,输入Update-Database,这个命令通过运行Migrations / <time-stamp>_Initial.cs文件,创建数据库表。执行过程如下图。

5. 执行结束之后,会在数据库中创建Book表。如下图。

二、创建书籍管理系统的增删改查页面

  1. 在Windows资源管理器中,选中项目所在的文件夹(文件夹中有Startup.cs文件,Program.cs文件和csproj文件),键盘上按钮“Shift”,鼠标右键—>“在此处打开命令窗口”,打开命令窗口。如下图。

2.  命令窗口中输入以下命令

  • dotnet aspnet-codegenerator razorpage -m Book -dc BookContext -udl -outDir Pages\Books --referenceScriptLibraries

如果收到错误:

未找到与命令“dotnet aspnet codegenerator”匹配的可执行文件。如下图。

3. 则请退出Visual Studio 2017 ,再次执行命令。

如果收到以下错误信息:

则请更新Microsoft.VisualStudio.Web.CodeGeneration.Design到2.0.0。如果版本大于2.0,则请降到2.0.0。

4. 再次执行命令。这次执行成功,如下图。

5. 运行完毕后会在你的Page\Books文件夹中生成增删改查的cshtml。如下图。

三、下表详细介绍了ASP.NET的核心代码生成器`参数:

参数

说明

-m

实体类的名称。

-dc

数据上下文.

-udl

使用默认布局

-outDir

用于创建视图的相对输出文件夹路径

--referenceScriptLibraries

向“编辑”和“创建”页面添加 _ValidationScriptsPartial

使用 h 开关获取 aspnet-codegenerator razorpage 命令方面的帮助:

在命令窗口中输入以下命令:

dotnet aspnet-codegenerator razorpage -h

四、 测试应用程序

1. 在Visual Studio 2017中按下F5,运行应用程序。如下图。

2. 在浏览器中的地址栏中的url的未尾添加/Books(http://localhost:53416/Books)。如下图。

3. 点击“Create New”链接,在新建界面中把信息录入,然后点击“Create”按钮。

4.浏览器中页面返回到列表页面,如下图。

5. 在书籍列表中,选择一本书籍,然后点击“Edit”链接。如下图。           

6. 在编辑界面中进行信息修改,然后点击保存。如下图。

              7. 在书籍列表中,选择一本书籍,然后点击“Details”链接。如下图。

8. 在书籍列表中,选择一本书籍,然后点击“Delete”链接。如下图。

注:如果收到 SQL 异常,则检查是否已运行迁移并更新了数据库。

学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面的更多相关文章

  1. 学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  2. 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  3. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  4. 学习ASP.NET Core Razor 编程系列六——数据库初始化

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  5. 学习ASP.NET Core Razor 编程系列七——修改列表页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  6. 学习ASP.NET Core Razor 编程系列八——并发处理

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  7. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  8. 学习ASP.NET Core Razor 编程系列十——添加新字段

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  9. 学习ASP.NET Core Razor 编程系列十九——分页

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

随机推荐

  1. 嵌入式Linux引导过程之1.4——Xloader的ddr_init

    这里我们来看XLOADER_ENTRY中调用的第二个标号ddr_init处的代码,这部分代码的作用是对外部内存SDRAM进行初始化,在我 spearplus开发板中,使用的是DDR SDRAM.在调用 ...

  2. JAVA中线程同步方法

    JAVA中线程同步方法 1  wait方法:         该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所 ...

  3. 从不同的角度分析Flex的优缺点

    从不同的角度分析Flex的优缺点 技术角度: (1)具备了RIA时代富客户端的优点(C/S+B/S) (2)支持多种服务器语言(JAVA..NET.PHP)及主流框架(Spring.Hibernate ...

  4. IOS开发之XCode学习010:定时器和视图对象

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...

  5. Error Correct System CodeForces - 527B

    Ford Prefect got a job as a web developer for a small company that makes towels. His current work ta ...

  6. ASP.NET Core 2.0 : 系列目录

    目录: ASP.NET Core 2.0 : 一. 概述 ASP.NET Core 2.0: 二. 开发环境 ASP.NET Core 2.0 : 三. 项目结构 ASP.NET Core 2.0 : ...

  7. JS中ptototype和__proto__的关系

    学到原型的时候感觉头都大了/(ㄒoㄒ)/~~ 尤其是ptototype和__proto__ 傻傻分不清  通过多番查找资料,根据自己的理解,总结如下: 一.构造函数: 构造函数:通过new关键字可以用 ...

  8. Keras官方中文文档:Keras安装和配置指南(Windows)

    这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全:另一方面,Linux系统下对显卡支持.内存释放以及存储空间调 ...

  9. Xampp apache与mySQL开不了 解决办法

    Xampp安装后,打开Xampp control panel. 点击Apache对应的Start,开不了.原因是系统的服务占用了80端口,所以要么结束系统服务,要么修改apache端口. 个人比较喜欢 ...

  10. 元素定位-----Selenium快速入门(二)

    一.eclipse设置 工欲善其事必先利其器,在说元素定位之前,先来设置下eclipse. 首先放大一下字体,点击windows-preferences 其次,eclipse对于java的智能提示默认 ...