ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)
系列文章目录:系列教程:使用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 版)相关推荐
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- 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 ...
- ASP.NET Core Web Razor Pages系列教程八: 添加验证
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程七: 添加新的字段
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程六:添加搜索功能
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程五:更新Razor Pages页面
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程三:自动生成Razor Pages (CRUD)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程二:添加模型到Razor Pages网络应用程序
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程一:使用ASP.NET Core 创建一个Razor Pages网络应用程序
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
最新文章
- 在PHP中使用全局变量的几种方法
- python制作工资计算器-Python计算个人所得税
- js函数 Number()、parseInt()、parseFloat()的区别:
- SpringMVC学习总结(2)——SpringMVC返回json配置
- 腾讯下载视频转换MP4
- MySQL计算在线时长(超过2分钟未上传不在计算范围)
- 神经网络之dropout层
- oracle默认初始化用户名密码和密码修改
- vue 按钮多次点击重复提交数据
- fixture.detectChange是如何触发Component view的ngOnInit钩子的
- 算法61---两个字符串的最小ASCII删除和【动态规划】
- iOS HTML标签字符实体,转译字符串归类大全 【转载】
- AutoCode For XML(XML解析代码生成器)发布
- Java操作Json工具——Jackson
- c++获得鼠标当前位置
- vi显示行数命令和跳转到指定行
- [工具][转载] ExtractData 1.08更新
- 飞思卡尔单片机编程与c语言,飞思卡尔单片机C语言编程(中文).pdf
- 英语有哪些等级?公认CEFR等级是什么?C2到底是什么等级
- 002-CentOS7 固定IP
热门文章
- mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错
- docker mysql配置 丢失_Docker 从入门到掉坑
- 中科院城环所朱永官院士团队(宁波)招聘全职博士后启事
- 西湖大学鞠峰组招聘微生物组学、病毒组学与生物信息学博士后
- The Innovation | clusterProfiler:聚焦海量组学数据核心生物学意义
- Science:基于微生物条形码系统的高分辨率物源追踪技术
- R语言ggplot2可视化:使用ggrepel包在线图(line plot)的尾端那个数据点添加文本标签(text label)
- R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
- R语言ggplot2可视化百分比显示实战:纵轴显示为百分比、在柱状图上显示百分比、按照因子变量绘制分组子图(纵轴显示为百分比)、可视化图中显示数据百分比
- Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)