Razor页面 添加新字段

1. 向电影模型添加分级属性

  ①. Models/Movie.cs 添加 Rating属性 :

    public string Rating { get; set; } = string.Empty;

  ②. Pages/Movies/Index.cshtml 添加Rating字段:    

    <th>

       @Html.DisplayNameFor(model => model.Movie[0].Rating)

     </th>

    <td>

      @Html.DisplayFor(modelItem => item.Rating)

    </td>

  ③. 使用 Rating 字段更新以下页面:

    Pages/Movies/Create.cshtml

    Pages/Movies/Delete.cshtml

    Pages/Movies/Details.cshtml

    Pages/Movies/Edit.cshtml

  ④. 运行程序:

    引发异常:SqlException: Invalid column name 'Rating'

    该异常 是由于更新的 Movie 模型类与数据库的 Movie 表架构不同导致的。

  ⑤. 使用 Code First 迁移 解决此错误:

    更新 SeedData 类,使它提供新列的值。

      例:

        context.Movie.AddRange(

                new Movie

                {

                  Title = "When Harry Met Sally",

                  ReleaseDate = DateTime.Parse("1989-2-12"),

                  Genre = "Romantic Comedy",

                  Price = 7.99M,

                  Rating = "R"

                },

    工具=>NuGet 包管理器>包管理器控制台=>输入命令:

                 Add-Migration Rating

                 Update-Database

   ⑥. 运行程序,验证是否可以创建、编辑和显示具有 Rating 字段的电影。

  备注: 

    另一个方案是删除数据库,并使用迁移来重新创建该数据库。 删除 SSOX 中的数据库:

    1. 在 SSOX 中选择数据库。

    2. 右键单击数据库,并选择“删除”。

    3. 检查“关闭现有连接”。

    4. 选择“确定”。

    5. 在 PMC 中更新数据库:

        Update-Database

posted @ 2022-06-17 17:08  大师兄被妖怪抓走了  阅读(54)  评论(0编辑  收藏  举报