ASP.NET Core Web MVC创建一个项目(二)
1.添加数据模型类
在Models文件夹中建一个UserInfo.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace MvcUser.Models
{
public class UserInfo
{
public int id { get; set; }
public string name { get; set;}
public string age { get; set; }
}
}
2.添加NuGet包
搜索 安装MySql.Data.EntityFrameworkCore
3.创建数据库上下文类
需要数据库上下文控制协调模型的 EF Core 的增删改查,数据库上下文类继承至
Microsoft.EntityFrameworkCore.DbContext
首先在项目中建个“Data”文件夹,然后在其中建一个UserInfoContext.cs类
using Microsoft.EntityFrameworkCore;
using MvcUser.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace MvcUser.Data
{
public class UserInfoContext:DbContext
{
public UserInfoContext(DbContextOptions<UserInfoContext> options):base(options)
{
}
public DbSet<UserInfo> UserInfo { get; set; }
}
}
4.注册数据库上下文
ASP.NET Core 通过依赖关系注入 (DI) 生成。 在应用程序启动过程中,必须向 DI 注册服务(如 EF Core DB 上下文)。 需要这些服务(如 Razor 页面)的组件通过构造函数参数提供相应服务。
在Startup.cs中添加注册服务
5.添加数据库连接字符串
在appsettings.json中配置数据库的连接字符串
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"UserContext": "Data Source=localhost;Port=3306;database=UserManager;user id=root;password=123456;"
}
}
6.使用基架工具
使用基架工具搭建用户管理界面(包括增删改查页面)
选择模型类和数据库上下文类
控制器名称会自动生成
然后添加
添加之后VS 会自动创建一个控制器和增删改查的视图
Controllers/UserInfoesController.cs
Views/UserInfoes/Create.cshtml
Views/UserInfoes/Delete.cshtml
Views/UserInfoes/Details.cshtml
Views/UserInfoes/Edit.cshtml
Views/UserInfoes/Index.cshtml
7.数据迁移
从“工具”菜单中,选择“NuGet 包管理器”>“包管理器控制台”(PMC)。
输入以下命令
Add-Migration InitialCreate
Update-Database
8.InitialCreate类
数据库迁移后会生成一个类,这个类中有一个Up方法,该方法用来创建一个表
这里面还有一个Down方法,该方法用来还原Up所做的更改
using Microsoft.EntityFrameworkCore.Migrations;
using MySql.Data.EntityFrameworkCore.Metadata;
namespace MvcUser.Migrations
{
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "userInfos",
columns: table => new
{
id = table.Column<int>(nullable: false)
.Annotation("MySQL:ValueGenerationStrategy", MySQLValueGenerationStrategy.IdentityColumn),
name = table.Column<string>(nullable: true),
age = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_userInfos", x => x.id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "userInfos");
}
}
}
9.更改首页视图
在Views/Shared/_layout.cshtml中添加User页面的链接
运行后回有一个User,点开这个User会进入User的展示界面
User的展示界面,这个见面有Create New Edit Details Deletes的链接,点击这些链接可以进行增删改查的操作,下面加了一条测试数据
10.User的增删改查
点击 Create New进行增加操作
以下界面上会多一条name为1 age为12的数据
点击Edit进行修改一条name为1 age为12的数据
现在修改age为122
点击Delete进行删除操作
现在删除name为1 age为122的数据
点击Details可以查看一条数据的详情,并可以对这条数据进行修改
至此一个数据迁移、数据界面展示、增删改查功能实现的程序就完成了,现在VS挺方便和强大的,后台数据获取前台数据绑定都一套解决了。
推荐阅读
-
VS2017怎么创建创建空的ASP.NET Core Web项目?
-
ASP.NET MVC项目里创建一个aspx视图
-
使用 ASP.NET Core MVC 创建 Web API——响应数据的内容协商(七)
-
使用 ASP.NET Core MVC 创建 Web API(六)
-
asp.net core 一个中小型项目实战的起手式——项目搭建与仓储模式下的持久层创建(1)
-
使用 ASP.NET Core MVC 创建 Web API(五)
-
使用 ASP.NET Core MVC 创建 Web API(一)
-
创建一个ASP.NET MVC5项目的实现方法(图文)
-
ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)
-
使用 ASP.NET Core MVC 创建 Web API(二)