在windows上使用asp.net core创建 Razor 页面 Web 应用

安装以下组件:

1.添加数据模型

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
在解决方案资源管理器中,右键单击“RazorPagesMovie”项目 >“添加” > “新建文件夹”。 将文件夹命名为“Models”。
右键单击“Models”文件夹。 选择“添加” > “类”。 将类命名为“Movie”,并添加以下属性:
向 Movie 类添加以下属性:

namespace RazorPagesMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
}
数据库需要 ID 字段作为主键。
View Code

2.添加数据库上下文类

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
向“Models”文件夹添加名为 MovieContext.cs 的 DbContext 派生类。

using Microsoft.EntityFrameworkCore;

namespace RazorPagesMovie.Models
{
    public class MovieContext : DbContext
    {
        public MovieContext(DbContextOptions<MovieContext> options)
                : base(options)
        {
        }

        public DbSet<Movie> Movie { get; set; }
    }
}
View Code

前面的代码为实体集创建 DbSet 属性。 在实体框架术语中,实体集通常与数据库表相对应,实体与表中的行相对应。

3.添加数据库链接字符串

将连接字符串添加到 appsettings.json 文件。

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "MovieContext": "Server=(localdb)\\mssqllocaldb;Database=Movie-1;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}
View Code

4.注册数据库上下文

使用 Startup.cs 文件中的依存关系注入容器注册数据库上下文。

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
public void ConfigureServices(IServiceCollection services)
{
    // requires 
    // using RazorPagesMovie.Models;
    // using Microsoft.EntityFrameworkCore;

    services.AddDbContext<MovieContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("MovieContext")));
    services.AddMvc();
}
View Code

5.添加基架工具比执行迁移

从“工具”菜单中,选择“NuGet 包管理器” > “包管理器控制台”。

在 PMC 中,输入以下命令:

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.0
Add-Migration Initial
Update-Database
View Code

Install-Package 命令安装运行基架引擎所需的工具。

Add-Migration 命令生成用于创建初始数据库架构的代码。 此架构以(Models/MovieContext.cs 文件中的)DbContext 中指定的模型为基础。 Initial 参数用于为迁移命名。 可以使用任意名称,但是按照惯例应选择描述迁移的名称。 

Update-Database 命令在用于创建数据库的 Migrations/<time-stamp>_InitialCreate.cs 文件中运行 Up 方法。

6.搭建‘电影’模型的基架

  • 打开项目目录(包含 Program.cs、Startup.cs 和 .csproj 文件的目录)中的命令窗口(在目录下,shift+右键)。
  • 运行下面的命令

在windows上使用asp.net core创建 Razor 页面 Web 应用在windows上使用asp.net core创建 Razor 页面 Web 应用
dotnet aspnet-codegenerator razorpage -m Movie -dc MovieContext -udl -outDir Pages\Movies --referenceScriptLibraries
View Code

如果收到错误:

The process cannot access the file 
'RazorPagesMovie/bin/Debug/netcoreapp2.0/RazorPagesMovie.dll' 
because it is being used by another process.

退出 Visual Studio,然后重新运行命令。

下表详细说明了 ASP.NET Core 代码生成器的参数:

 

 

参数 描述
-m 模型的名称。
-dc 数据上下文。
-udl 使用默认布局。
-outDir 用于创建视图的相对输出文件夹路径。
--referenceScriptLibraries 向“编辑”和“创建”页面添加 _ValidationScriptsPartial

7.测试应用

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

上一篇:F5虚拟机(LTM Virtual Edition)安装教程


下一篇:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用