如何使用 Razor Pages 在 ASP.NET 网络应用程序中为 3-table 数据库建模?

How do I model a 3-table database in a ASP.NET web app using Razor Pages?

创建我的第一个网络应用程序。使用 ASP.NETRazor Pages+。在 VS 2017 中开发它。

(注意:类似于未回答的 S.O。问题 ASP.NET Core : Generate Razor Pages for all models

+在ASP.NET核心教程[https://docs.microsoft.com/en-us/aspnet/core/tutorials/?view=aspnetcore-2.1]中是这样说的:"Razor Pages is the recommended approach to create a new Web UI app with ASP.NET Core 2.0."

我做的第一件事是使用 SSMS:

创建我的数据库

然后,我创建了一个ASP.NET Core Web Application

然后,我从现有数据库创建了一个模型(仅使用 Getting Started with EF Core on ASP.NET Core with an Existing Database

Reverse engineer your model 步骤

然后,我使用了Add a model to a Razor Pages app in ASP.NET Core

Scaffold the movie model步骤

脚手架步骤要求您从 Models 文件夹中选择一个 class,并在(我的情况)Pages\keyw_status 文件夹中生成通用命名的 CRUD 页面。

如果我从我的模型中构建第 2 个和第 3 个 classes,Pages\keyw_status 文件夹中的通用命名的 CRUD 页面将被覆盖。最后一个模型 class 脚手架获胜,对吧?

如何使用 Razor Pages 构建 3-table 模型?

您可以使用 -outDir 选项指定脚手架页面的文件夹,以确保每个实体的 CRUD 页面在不同的文件夹中生成。通常,人们会选择文件夹的实体名称,因为这会成为您的 URL.

以下命令将为 DateTable 实体构建 CRUD 页面,并将它们放置在 Pages\DataTable 中。

dotnet aspnet-codegenerator razorpage -m DateTable -dc keyw_statusContext -udl -outDir Pages\DateTable