用VS Code创建ASP.NET Core Razor Pages Web 应用:RpMoviesDemo。(DB First,连接MySql数据库)

目录

一、使用Mac OS终端创建一个.Net Core Razor Pages Web 应用。

二、使用VS Code的NuGet Package Manager GUI插件添加相关的NuGet程序集。

三、在MySql数据库中创建MoviesDB数据库和Movie表,并插入少量测试数据。

四、使用dbcontext scaffold命令自动生成数据库表对应的对象类及数据库操作类。

安装dotnet -ef命令工具。

五、实现页面简单的增删查改功能。

5.1 页面效果。

5.2 代码集合。 


一、使用Mac OS终端创建一个.Net Core Razor Pages Web 应用

输入以下命令:

// 切换到 Projects 文件夹路径下
cd Projects


// 使用 ASP.NET Core 创建 Razor Pages Web 应用,应用名称为 RpMoviesDemo
dotnet new razor -o RpMoviesDemo


// 切换到 RpMoviesDemo 文件夹路径下
cd RpMoviesDemo


// 使用VS Code 工具自动打开项目 RpMoviesDemo
code .

 

在 VS Code 工具中打开的项目结构如下:

二、使用VS Code的NuGet Package Manager GUI插件添加相关的NuGet程序集。

在VS Code中输入快捷键:Command + Shift + P,然后输入关键字NuGet Package Manager GUI进行搜索,选择回车。

依次添加以下程序集:

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Design

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.Relational

Pomelo.EntityFrameworkCore.MySql

添加完成后,可以在 RpMoviesDemo.csproj 文件中看到以下程序集被自动添加。

三、在MySql数据库中创建MoviesDB数据库和Movie表,并插入少量测试数据。

在MySql数据库中的建库建表SQL语句:

create database MoviesDB;
 
 
use MoviesDB;
 
 
create table Movie(
ID int not null auto_increment,
Title nvarchar(100) not null,
ReleaseDate datetime not null, 
Genre nvarchar(100) null,
Price decimal(18, 2) not null,
Rating nvarchar(50) null,
primary key(ID)
);

在MySql数据库中向Movie表中插入几条数据:

INSERT INTO Movie
(
Title,
ReleaseDate,
Genre,
Price,
Rating
)
VALUES
(
'中国机长',
'2018-10-01 02:46:32',
'冒险',
45.00,
'9折'
);
 
INSERT INTO Movie
(
Title,
ReleaseDate,
Genre,
Price,
Rating
)
VALUES
(
'哪吒之魔童降世',
'2019-07-10 08:34:21',
'动画',
40.00,
'8.5折'
);
 
INSERT INTO Movie
(
Title,
ReleaseDate,
Genre,
Price,
Rating
)
VALUES
(
'阿凡达',
'2019-09-30 11:03:26',
'冒险',
55.00,
'9.8折'
);
 
INSERT INTO Movie
(
Title,
ReleaseDate,
Genre,
Price,
Rating
)
VALUES
(
'姜子牙',
'2021-06-28 12:45:02',
'动画',
42.00,
'8.8折'
);
 
 
INSERT INTO Movie
(
Title,
ReleaseDate,
Genre,
Price,
Rating
)
VALUES
(
'战狼2',
'2021-07-01 02:31:45',
'冒险',
48.00,
'9.5折'
);

四、使用dbcontext scaffold命令自动生成数据库表对应的对象类及数据库操作类。
 

在项目中添加 Models 空文件夹

安装dotnet -ef命令工具。

给.Net做数据迁移,需要安装dotnet -ef命令工具。按需输入下述命令之一:

// .Net Core 3.0 以上版本dotnet ef命令不再是sdk的一部分,需要单独安装
// 以下命令默认安装的是最新版本
 
dotnet tool install --global dotnet-ef
 
 
// 如果项目中使用的并不是最新版本,则还是不能使用,需要安装对应版本
// 以下命令安装的是指定版本
 
dotnet tool install --global dotnet-ef --version 3.1.1
 
 
 
// 安装错误可使用以下卸载命令:
 
dotnet tool uninstall --global dotnet-ef
 
 
// dotnet-ef命令工具安装成功后,还需要给项目引用NuGet包(如果没有引入):
 
dotnet add package Microsoft.EntityFrameworkCore.Design

安装完dotnet -ef命令工具后,执行以下命令,EF Core 将自动生成相应的对象类及操作类。

dotnet ef dbcontext scaffold "server=127.0.0.1;port=3306;uid=root;pwd=123456;database=MoviesDB" Pomelo.EntityFrameworkCore.MySql -o Models -f 

此时查看Models文件夹,发现自动生成数据库表对应的对象类Movie.cs及数据库操作类MoviesDBContext.cs。

五、实现页面简单的增删查改功能。

5.1 页面效果。

https://localhost:7269/Movies

https://localhost:7269/Movies?MovieGenre=科幻&SearchString=星

https://localhost:7269/Movies/Create

https://localhost:7269/Movies/Edit/23

https://localhost:7269/Movies/Details/23

https://localhost:7269/Movies/Delete/23

 

5.2 代码集合。 

项目结构:

RpMoviesDemo/Models/Movie.cs

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RpMoviesDemo.Models
{
    public partial class Movie
    {
        [Display(Name = "影片索引")]
        public int Id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值