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

本文详细介绍了如何在ASP.NET Core中使用Entity Framework Core进行数据迁移,包括添加数据模型、创建数据库上下文、注册服务、配置连接字符串、使用基架工具搭建界面以及实现增删改查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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挺方便和强大的,后台数据获取前台数据绑定都一套解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值