博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习ASP.NET Core Razor 编程系列十——添加新字段
阅读量:7192 次
发布时间:2019-06-29

本文共 3991 字,大约阅读时间需要 13 分钟。

原文:

学习ASP.NET Core Razor 编程系列目录

 

 

       在经过了上面几篇文章的学习这宾,本篇文章我们来学习如何在已经的功能中添加新字段。

一、添加出版社字段到实体类

          我们首先在Visual Studio 2017的解决方案资源管理器中打开 Models/Books.cs 文件,并添加一个Publishing字段,代码如下:

using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Threading.Tasks; namespace RazorMvcBooks.Models{    public class Book    {          public int ID { get; set; }        public string Name { get; set; }        [Display(Name = "出版日期")]        [DataType(DataType.Date)]         public DateTime ReleaseDate { get; set; }        public string Author { get; set; }        public decimal Price { get; set; }        public string Publishing { get; set; }    }}

          在Visual Studio 2017中按下(Ctrl+Shift+B),或是菜单中选择生成-->生成解决方案

 

 

二、给列表页面添加Publishing字段

             在Visual Studio 2017的解决方案资源管理器中找到 Pages/Books/Index.cshtml文件,然后使用鼠标双击打开,并在文件中添加Publishing字段,代码如下:

@page @model RazorMvcBooks.Pages.Books.IndexModel @{    ViewData["Title"] = "Index";} 

Index

Create New

书籍名称

@foreach (var item in Model.Book) {
}
@Html.DisplayNameFor(model => model.Book[0].Name) @Html.DisplayNameFor(model => model.Book[0].ReleaseDate) @Html.DisplayNameFor(model => model.Book[0].Author) @Html.DisplayNameFor(model => model.Book[0].Price) @Html.DisplayNameFor(model => model.Book[0].Publishing)
@Html.DisplayFor(modelItem => item.Name) @Html.DisplayFor(modelItem => item.ReleaseDate) @Html.DisplayFor(modelItem => item.Author) @Html.DisplayFor(modelItem => item.Price) @Html.DisplayFor(modelItem => item.Publishing) Edit | Details | Delete

 

      按照上面的方式,把Publishing字段添加到“Delete.cshtml”与“Details.cshtml”页面中。

       接下来我们在Visual Studio 2017的解决方案资源管理器中打开Create.cshtml,然后选择一个现成<div>元素(例如包含Name字段的div元素),复制,粘贴到如下图的位置,最后把Name修改为Publishing字段。如下图。

 

添加了Publishing字段之后 Create.cshtml  代码如下:

@page@model RazorMvcBooks.Pages.Books.CreateModel@{    ViewData["Title"] = "Create";} 

Create

Book


@section Scripts { @{
await Html.RenderPartialAsync("_ValidationScriptsPartial");}}

 

      参照上面的方式给编辑页面添加Publishing字段。

      在经过上面的修改之后,但是由于我们还没有进行数据库更新,所以此时运行书籍管理信息系统是会报错的。

     此时如果我们在Visual Studio 2017中按下F5,在浏览器中我们会得到如下图的错误信息。

         这个错误信息表明我们的实体类与数据库中的表结构不一致。数据库中Book表没有Publishing字段。

 

三、有几种方法可以解决这个错误

1、让实体框架自动删除并使用新的实体类重新创建数据库。这种方法适合在开发周期的早期使用;它允许您快速地将实体类和数据库表一起快速改进。缺点是丢失数据库中的现有数据。请不要在生产数据库上使用这种方法!在架构更改时删除数据库并使用初始化类自动地用测试数据生成数据库中的数据,这通常是开发应用程序的一种有效方式。

2、通过SQL Server Management Studio显式修改现有数据库中的表,使之与实体类相匹配。这种方法的优点是可以保存数据。您可以手动或通过创建数据库更改脚本来进行更改。

3、使用 Code First 迁移功能来更新数据库。我们将在下一篇文章中进行学习。

 

 

转载地址:http://vitkm.baihongyu.com/

你可能感兴趣的文章
Leangoo敏捷工具Jenkins配置指南
查看>>
又是一个开始
查看>>
java创建XML及开源DOM4J的使用
查看>>
移动端的拼图游戏
查看>>
installp 软件的4种状态
查看>>
定时清理clientmqueue目录垃圾文件防止占满磁盘空间
查看>>
计算将一个十进制整数转换成二进制含多少个1
查看>>
Flex 当鼠标悬停在DataGrid某行上时用datatoolField显示当前行
查看>>
关于Integer包装类对象之间值的比较
查看>>
7.4 括号匹配
查看>>
nginx + fastDFS 设置开机自动启动
查看>>
腾讯云服务器 安装fastdfs文件服务器
查看>>
经典的计算机语言
查看>>
X5内核浏览器video自动全屏解决办法-canvas
查看>>
网络管理中的常见软件和管理维护
查看>>
myeclipse2014如何添加源码反编译工具插件
查看>>
ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下)
查看>>
Ehome项目服务器端由Eclipse切换到IDEA
查看>>
Making the Grade (bzoj1592)
查看>>
Redis.py客户端的命令总结【一】
查看>>