在 ASP.NET Core 中向 Razor Pages 应用添加模型

作者:Rick Anderson

在本节中,添加了用于管理跨平台 SQLite 数据库中的电影的类。 从 ASP.NET Core 模板创建的应用使用 SQLite 数据库。 应用的模型类配合 Entity Framework Core (EF Core)SQLite EF Core 数据库提供程序)使用,以处理数据库。 EF Core 是一种对象关系映射 (ORM) 框架,可以简化数据访问。

模型类称为 POCO 类(源自“简单传统 CLR 对象”),因为它们与 EF Core 没有任何依赖关系。 它们定义数据库中存储的数据属性。

添加数据模型

生成项目以验证没有任何编译错误。

搭建“电影”模型的基架

在此部分,将搭建“电影”模型的基架。 确切地说,基架工具将生成页面,用于对“电影”模型执行创建、读取、更新和删除 (CRUD) 操作。

创建的文件

初始迁移

前面的命令生成以下警告:“No type was specified for the decimal column 'Price' on entity type 'Movie'. This will cause values to be silently truncated if they do not fit in the default precision and scale. Explicitly specify the SQL server column type that can accommodate all the values using 'HasColumnType()'.”

你可以忽略该警告,它将后面的教程中得到修复。

migrations 命令生成用于创建初始数据库架构的代码。 该架构基于在 DbContext 中指定的模型。 InitialCreate 参数用于为迁移命名。 可以使用任何名称,但是按照惯例,会选择可说明迁移的名称。

update 命令在尚未应用的迁移中运行 Up 方法。 在这种情况下,update 在用于创建数据库的 Migrations/<time-stamp>_InitialCreate.cs 文件中运行 Up 方法 。

测试应用

  • 运行应用并将 /Movies 追加到浏览器中的 URL (http://localhost:port/movies)。

如果收到错误:

SqlException: Cannot open database "RazorPagesMovieContext-GUID" requested by the login. The login failed.
Login failed for user 'User-name'.

缺少迁移步骤

  • 测试“创建” 链接。

    创建页面

    备注

    可能无法在 Price 字段中输入十进制逗号。 若要使 jQuery 验证支持使用逗号(“,”)表示小数点的非英语区域设置,以及支持非美国英语日期格式,应用必须进行全球化。 有关全球化的说明,请参阅此 GitHub 问题

  • 测试“编辑” 、“详细信息” 和“删除” 链接。

下一个教程介绍由基架创建的文件。

其他资源

上一篇:教程:开始使用ASP.NET Core中的Razor Pages

下一篇:ASP.NET Core 中已搭建基架的 Razor 页面

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程