系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客


上一个教程:ASP .NET Core 系列教程三:自动生成Razor Pages(CRUD)


在文件Startup.cs->函数ConfigureServices中添加如下代码(如已存在,不用添加):

services.AddDbContext<RazorPagesMovieContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("RazorPagesMovieContext")));


然后在appsettings.json中添加数据库连接字符串:

 "ConnectionStrings": {"RazorPagesMovieContext": "Server=(localdb)\\mssqllocaldb;Database=RazorPagesMovieContext-1234;Trusted_Connection=True;MultipleActiveResultSets=true"}


从“ 工具”菜单中,选择“ NuGet包管理器” >“ 包管理器控制台”。
输入如下命令:

Add-Migration Initial
Update-Database


然后F5,进行测试。打开页面 http://localhost:10874/movies

LocalDB是SQL Server Express数据库引擎的轻量级版本,用于程序开发。LocalDB按需启动并以用户模式运行,因此没有复杂的配置。默认情况下,LocalDB数据库*.mdf在C:/Users/目录中创建文件。

然后从“ 视图”菜单中,打开SQL Server对象资源管理器(SSOX):

右键单击dbo.Movie并选择视图设计器:

看到表和建表代码都在上面:

在Models文件夹中使用以下代码创建一个SeedData的类.
如果数据库中有任何电影,则种子初始化程序不添加电影。

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;namespace RazorPagesMovie.Models
{public static class SeedData{public static void Initialize(IServiceProvider serviceProvider){using (var context = new RazorPagesMovieContext(serviceProvider.GetRequiredService<DbContextOptions<RazorPagesMovieContext>>())){// Look for any movies.if (context.Movie.Any()){return;   // DB has been seeded}context.Movie.AddRange(new Movie{ID = 1,Title = "When Harry Met Sally",ReleaseDate = DateTime.Parse("1989-2-12"),Genre = "Romantic Comedy",Price = 7.99M},new Movie{ID = 2,Title = "Ghostbusters ",ReleaseDate = DateTime.Parse("1984-3-13"),Genre = "Comedy",Price = 8.99M},new Movie{ID=3,Title = "Ghostbusters 2",ReleaseDate = DateTime.Parse("1986-2-23"),Genre = "Comedy",Price = 9.99M},new Movie{ID = 4,Title = "Rio Bravo",ReleaseDate = DateTime.Parse("1959-4-15"),Genre = "Western",Price = 3.99M});context.SaveChanges();}}}
}

修改Program.cs文件为如下:

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using RazorPagesMovie.Models;
using System;
using Microsoft.EntityFrameworkCore;namespace RazorPagesMovie
{public class Program{public static void Main(string[] args){var host = CreateWebHostBuilder(args).Build();using (var scope = host.Services.CreateScope()){var services = scope.ServiceProvider;try{var context = services.GetRequiredService<RazorPagesMovieContext>();context.Database.Migrate();SeedData.Initialize(services);}catch (Exception ex){var logger = services.GetRequiredService<ILogger<Program>>();logger.LogError(ex, "An error occurred seeding the DB.");}}host.Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();}
}

然后F5,进行测试。打开页面 http://localhost:10874/movies

可以看到初始化的数据了:

下一个教程:ASP .NET Core Web Razor Pages系列教程五:更新Razor Pages页面

ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)相关推荐

  1. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  2. ASP.NET Core Web Razor Pages系列教程:使用ASP.NET Core创建Razor Pages Web应用程序

    ASP .Net Core Razor Pages MySQL Tutorial 本系列教程翻译自微软官方教程,官方教程地址:Tutorial: Create a Razor Pages web ap ...

  3. ASP.NET Core Web Razor Pages系列教程八: 添加验证

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  4. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  5. ASP.NET Core Web Razor Pages系列教程六:添加搜索功能

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  6. ASP .NET Core Web Razor Pages系列教程五:更新Razor Pages页面

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  7. ASP .NET Core Web Razor Pages系列教程三:自动生成Razor Pages (CRUD)

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  8. ASP .NET Core Web Razor Pages系列教程二:添加模型到Razor Pages网络应用程序

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  9. ASP.NET Core Web Razor Pages系列教程一:使用ASP.NET Core 创建一个Razor Pages网络应用程序

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

最新文章

  1. 在PHP中使用全局变量的几种方法
  2. python制作工资计算器-Python计算个人所得税
  3. js函数 Number()、parseInt()、parseFloat()的区别:
  4. SpringMVC学习总结(2)——SpringMVC返回json配置
  5. 腾讯下载视频转换MP4
  6. MySQL计算在线时长(超过2分钟未上传不在计算范围)
  7. 神经网络之dropout层
  8. oracle默认初始化用户名密码和密码修改
  9. vue 按钮多次点击重复提交数据
  10. fixture.detectChange是如何触发Component view的ngOnInit钩子的
  11. 算法61---两个字符串的最小ASCII删除和【动态规划】
  12. iOS HTML标签字符实体,转译字符串归类大全 【转载】
  13. AutoCode For XML(XML解析代码生成器)发布
  14. Java操作Json工具——Jackson
  15. c++获得鼠标当前位置
  16. vi显示行数命令和跳转到指定行
  17. [工具][转载] ExtractData 1.08更新
  18. 飞思卡尔单片机编程与c语言,飞思卡尔单片机C语言编程(中文).pdf
  19. 英语有哪些等级?公认CEFR等级是什么?C2到底是什么等级
  20. 002-CentOS7 固定IP

热门文章

  1. mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错
  2. docker mysql配置 丢失_Docker 从入门到掉坑
  3. 中科院城环所朱永官院士团队(宁波)招聘全职博士后启事
  4. 西湖大学鞠峰组招聘微生物组学、病毒组学与生物信息学博士后
  5. The Innovation | clusterProfiler:聚焦海量组学数据核心生物学意义
  6. Science:基于微生物条形码系统的高分辨率物源追踪技术
  7. R语言ggplot2可视化:使用ggrepel包在线图(line plot)的尾端那个数据点添加文本标签(text label)
  8. R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
  9. R语言ggplot2可视化百分比显示实战:纵轴显示为百分比、在柱状图上显示百分比、按照因子变量绘制分组子图(纵轴显示为百分比)、可视化图中显示数据百分比
  10. Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)