学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
学习ASP.NET Core Razor 编程系列目录
学习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 异常,则检查是否已运行迁移并更新了数据库。
相关文章
- 2022-12-19:大的国家。如果一个国家满足下述两个条件之一,则认为该国是 大国 : 面积至少为 300 万平方公里(即,3000000 km2),或者 人
- 计算机底层知识之CPU
- 计算机底层知识之二进制
- 计算机底层知识之处理小数
- 计算机底层知识之内存
- 计算机底层知识之内存和磁盘的关系&数据压缩
- 计算机底层知识之运行环境&可执行文件
- 计算机底层知识之操作系统
- 计算机底层知识之汇编语言
- 【Ruby高级技术】对面向对象里的控制访问,包括类的继承类常量的深入理解和使用
- React源码分析--state计算流程和优先级
- 面试官:说说你对react生命周期的理解
- 面试官:说说react的渲染过程
- 前端工程师leetcode算法面试--二分搜索算法(上)
- 前端刷完这12道滑动窗口,是不是就可以出山面试了
- 三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经
- 前端必会面试题总结1
- 从URL输入到页面展现到底发生什么?1
- 从URL输入到页面展现到底发生什么?1
- 前端关于面试你可能需要收集的面试题1