学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
一、创建脚本工具并执行初始迁移
在本节中,您将使用包管理控制台(PMC)来更新数据库:
•添加VisualStudio Web代码生成包。这个包是运行脚本引擎所必需的。
• 执行Add-Migration Initial生成代码文件。
• 执行Update-Database命名,更新数据库。
- 从菜单中选择“工具à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表。如下图。
二、创建书籍管理系统的增删改查页面
- 在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 |
向“编辑”和“创建”页面添加 |
使用 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 编程系列三——创建数据表及创建项目基本页面的更多相关文章
- 学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列七——修改列表页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列八——并发处理
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列九——增加查询功能
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列十——添加新字段
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列十九——分页
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
随机推荐
- 嵌入式Linux引导过程之1.5——从BootRom到Xloader
在开始看Xloader_Entry的代码之前,我想先总结一下从芯片上电到开始运行Xloader的代码的过程,这是我目前理解的一个过程,可能有所出入,待以后继续完善. 当 系统上电之后,首先会将PC寄存 ...
- android自定义Notification通知栏实例
项目有个需求,需要在发送Notification的时候动态给定url的图片.大概思路如下:自己定义一个Notification的布局文件,这样能够很方便设置View的属性. 首先加载网络图片,使用Bi ...
- Android5.1系统WebView内存泄漏场景
问题现象 (该文章,引自零号路的私人博客,本人在浏览框架的开发过程中,用该方式,规避了内存泄露的问题.) 在Android5.1系统中,会发现App存在 WebView 泄漏情况,还比较严重.并且只是 ...
- OpenGL直线点画模式
程序来自<OpenGL编程指南第七版> #include "stdafx.h" #include <Windows.h>//头文件一定要加上,因为windo ...
- DML 触发器2
2.行级触发器的关联标识符 :new,:old >>1. 一般通过:new.filed 引用(filed是trigger_table的字段名) :new :old中filed字段的意义 触 ...
- WINDOWS的错误代码对应的故障
WINDOWS的错误代码对应的故障 0000 操作已成功完成. 0001 错误的函数. 0002 系统找不到指定的文件. 0003 系统找不到指定的路径. 0004 系统无法打开文件. 0005 拒绝 ...
- freemarker写select组件报错总结(七)
1.错误描述 六月 26, 2014 11:26:27 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...
- linq使用日记
//普通查询 var query = (from t in ServiceList where t.CreateUserID == A ...
- vue全局配置----小白基础篇
今天学习vue全局配置.希望帮助我们去了解vue的全局配置,快速开发. Vue.config是vue的全局配置对象.包含Vue的所有全局属性: silent:boolean(默认值:false)--- ...
- java打印等腰三角形的两种方法!(根据行数,根据底边长度)
首先来看根据用户输入的底边的长度判断: package cn.edu.nwpu.java; import java.util.Scanner; public class IsoscelesTriang ...