欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET Core Web MVC创建一个项目(二)

程序员文章站 2022-04-02 18:12:30
...

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
ASP.NET Core Web MVC创建一个项目(二)ASP.NET Core Web MVC创建一个项目(二)

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中添加注册服务
ASP.NET Core Web MVC创建一个项目(二)
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.使用基架工具
使用基架工具搭建用户管理界面(包括增删改查页面)

ASP.NET Core Web MVC创建一个项目(二)
ASP.NET Core Web MVC创建一个项目(二)选择模型类和数据库上下文类
控制器名称会自动生成
然后添加
ASP.NET Core Web MVC创建一个项目(二)
添加之后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

ASP.NET Core Web MVC创建一个项目(二)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页面的链接

ASP.NET Core Web MVC创建一个项目(二)
运行后回有一个User,点开这个User会进入User的展示界面
ASP.NET Core Web MVC创建一个项目(二)User的展示界面,这个见面有Create New Edit Details Deletes的链接,点击这些链接可以进行增删改查的操作,下面加了一条测试数据
ASP.NET Core Web MVC创建一个项目(二)
10.User的增删改查
点击 Create New进行增加操作
ASP.NET Core Web MVC创建一个项目(二)以下界面上会多一条name为1 age为12的数据
ASP.NET Core Web MVC创建一个项目(二)点击Edit进行修改一条name为1 age为12的数据
现在修改age为122
ASP.NET Core Web MVC创建一个项目(二)点击Delete进行删除操作
现在删除name为1 age为122的数据
ASP.NET Core Web MVC创建一个项目(二)
点击Details可以查看一条数据的详情,并可以对这条数据进行修改
ASP.NET Core Web MVC创建一个项目(二)至此一个数据迁移、数据界面展示、增删改查功能实现的程序就完成了,现在VS挺方便和强大的,后台数据获取前台数据绑定都一套解决了。

相关标签: C#