学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库

简介: 原文:学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.
+关注继续查看
原文:学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库

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

学习ASP.NET Core Razor 编程系列一

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

 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面

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

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

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

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

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

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

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

 

 

         在经过了上面篇文章的学习之后,本篇文章我们来学习如何使用 Entity Framework Code First 迁移功能将新字段添加到模型,并且同时将新字段添加到数据库中。

            使用 EF Code First 自动创建数据库时,Code First 会向数据库添加一个表,以帮助跟踪数据库的架构是否与生成它的实体类同步。 如果它们不同步,EF 就会引发异常。 这样一来就更容易发现一致的数据库表或者代码问题。

          我们接下来使用Code First迁移功能更新数据库。

         1. 现在我们来修改seeddata类,在类中增加一个Publishing字段,并提供数据。修改示例如下所示,你可以对每一本书籍信息都参照修改。

 
  context.Book.AddRange(
                    new Book
                    {
                        Name = "Python编程 从入门到实践",
                        ReleaseDate = DateTime.Parse("2018-1-12"),
                        Author = "埃里克·马瑟斯",
                        Price = 75.99M,
                        Publishing="机械出版社"
                    },

          2. 在Visual Studio 2017菜单中选择生成->生成解决方案

         3.在Visual Studio 2017的菜单中选择“工具”菜单-->“NuGet 包管理器”>“包管理器控制台”。 如下图。

       

         4. 在 PMC 中,输入以下命令,如图:

          Add-Migration Publishing

 

      Add-Migration 指令会通知框架执行以下操作:

    1)  将 Book实体类与 数据库中的Book表进行比较。

    2)  创建代码以将在数据库中对表Books表结构进行更新。如下图。

    3)  Visual Studio 2017对于有新字段“Publishing”的迁移文件的命名是当前日期+字段名称。这样命名这样有助于管理。如下图。

 

         5. 在执行完上面的指令之后,在 PMC 中,输入以下命令,如图:

            Update-Database

 

          7. 在执行完以上指令之后,在数据库中添加了Publishing字段。如下图。

 

        8. 虽然我们把字段添加 到数据库,但是这个字段,却是没有数据的。如下图。

 

 

那如何给字段同值呢?

  1. 如果你是开发,而且已经修改了初始化类SeedData类。那么可以参考(学习ASP.NET Core Razor 编程系列六——数据库初始化)给数据库初始化数据。
  2. 如果你把所有的记录从数据库中删除。你可以在浏览器中打开书籍列表页面,然后使用删除链接删除记录,也可以使用SQL Server对象资源管理器(SQL Server Management Studio)使用SQL语句把数据从数据库中删除。

 

          现在我们在visual studio 2017中按F5运行应用程序,应用程序不会在如上一篇文章那样报错了。在应用程序运行起来之后,在浏览器中分别打开创建/编辑/列表页面,验证这些页面中是否已经有了publishing 字段的书籍信息。如下图。

列表页面:

 

创建页面:

 

编辑页面:

 

 

 

 

 

目录
相关文章
|
1月前
|
开发框架 NoSQL .NET
ASP.NET Core开发者指南(2022版路线图)
ASP.NET Core开发者指南(2022版路线图)
37 0
ASP.NET Core开发者指南(2022版路线图)
|
2月前
|
开发框架 移动开发 网络协议
ASP.NET Core 使用 Web Socket
ASP.NET Core 使用 Web Socket
25 0
|
2月前
|
开发框架 中间件 .NET
ASP.NET CORE 自定义中间件
ASP.NET CORE 自定义中间件
23 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET Core 使用Autofac
ASP.NET Core 使用Autofac
31 0
ASP.NET Core 使用Autofac
|
2月前
|
开发框架 .NET Linux
ASP.NET Core部署到linux(CentOS)
ASP.NET Core部署到linux(CentOS)
64 0
ASP.NET Core部署到linux(CentOS)
|
2月前
|
开发框架 .NET API
ASP.NET Core 部署到docker
ASP.NET Core 部署到docker
38 0
|
2月前
|
开发框架 .NET 数据安全/隐私保护
ASP.NET Core Kestrel部署HTTPS
ASP.NET Core Kestrel部署HTTPS1,在program.cs中CreateHostBuilder 替换成如下内容:public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseServ...
18 0
|
2月前
|
XML 开发框架 .NET
ASP.NET Core 使用记录3
解决Visual Studio报错 NETSDK1152: 找到了多个具有相同相对路径的发布输出文件原因:是项目多层引用(a引用了b、c,d引用了a、b、c),且被引用的项目生成了xml文件,发布时导致xml文件重复 ,但.net 6.0下会触发报错。解决:被引用项目不要生成xml文件【根本原因】;发布时,将C:\Program Files\dotnet\sdk\6.x的sdk移出C:\P...
18 0
|
2月前
|
开发框架 .NET API
ASP.NET Core 使用记录2
.net sdk 版本的切换版本更改命令:dotnet new globaljson --sdk-version 版本 --force CultureInfoSystem.Globalization 程序集下的类它提供有关特定区域性(对于非托管代码开发,则称为“区域设置”)的信息。 这些信息包括区域性的名称、书写系统、使用的日历、字符串的排序顺序以及对日期和数字的格式化设置。
19 0
 ASP.NET Core 使用记录2
|
2月前
|
开发框架 .NET Linux
ASP.NET Core 使用记录1
ASP.NET 项目启动 提示 ID为XXX的进程未启动原因:暂时不能明确。 解决方案:删除项目的 csproj 文件的WebProjectProperties节点内容。 <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> ...
22 0
ASP.NET Core 使用记录1
推荐文章
更多