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

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

学习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 编程系列八——并发处理post

学习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 字段的书籍信息。以下图。

列表页面:

 

建立页面:

 

编辑页面:

 

相关文章
相关标签/搜索