.net core MVC入门(一)

发布于:2024-11-28 ⋅ 阅读:(18) ⋅ 点赞:(0)


项目地址

  • 教程作者:王教员
  • 教程地址:
https://www.bilibili.com/video/BV1iK4y1q7TC?spm_id_from=333.788.player.switch&vd_source=791e6deaa9c8a56b1f845a0bc1431b71&p=15
  • 代码仓库地址:
  • 所用到的框架和插件:
.net core mvc 

一、环境配置

1.1 安装EF core需要包

在这里插入图片描述

1.2 配置数据库连接

  1. appsettings.json下配置链接字符串
  "ConnectionStrings": {
    "DefaultConnection": "Server=.;Database=netdemo;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;"
  }
  1. 在Nuget的控制台,输入update-database,链接成功则数据库有EFcore的内容
SELECT TOP (1000) [MigrationId]
      ,[ProductVersion]
  FROM [netdemo].[dbo].[__EFMigrationsHistory]

二、使用EF创建表

2.1 整体流程梳理

  1. Models层,创建Category实体类
  2. 创建Data文件夹,并创建EF Core 数据上下文类,用于数据交互
  3. 在EF Core 数据上下文类里,引入并添加我们需要的类
  4. NuGet控制台,执行migration语句
  5. 执行更新数据库语句

2.1 建表详细流程

2.1.1 创建一个Category的Model

  1. Models/Category.cs创建一个类
using System.ComponentModel.DataAnnotations;

namespace MyMvcDemo.Models
{
   
    public class Category
    {
   
        public int CategoryId {
    get; set; }
        public string Name {
    get; set; }
        public int DisplayOrder {
    get; set; }   
    }
}

2.1.2 创建Category的EF实体

  1. Data/ApplicationDBContexts.cs下面,导入Model,添加Category类的EF实体
using Microsoft.EntityFrameworkCore;
using MyMvcDemo.Models;

namespace MyMvcDemo.Data
{
   
    public class ApplicationDBContext : DbContext
    {
   
        public ApplicationDBContext(DbContextOptions<ApplicationDBContext> options) : base(options)
        {
   

        }
        public DbSet<Category> Categories {
    get; set; }
    }
}
  1. NuGet的控制台输入,执行成功后,会生成一个Migration文件夹和里面的snapshort,
 add-migration AddCategoryTableToDb
  1. 再次执行,EF会识别出来Categroies的实体没有,自动创建表
update-database

三、添加Category页面的视图

3.1整体流程梳理

  1. Controller层创建一个Category的控制器
  2. 然后在View层创建该控制器对应的视图

3.2 添加Controller

  1. 在Controller层,创建一个名为CategoryController的空的mvc控制器
using Microsoft.AspNetCore.Mvc;

namespace MyMvcDemo.Controllers
{
   
    public class CategoryController : Controller
    {
   
        public IActionResult Index()
        {
   
            return View();
        }
    }
}

3.3 添加View 视图

  1. 在View层,创建该控制器对应的视图Category/index.cshtml,刚好对应的是IAcation的函数名
<h1>Category List</h1>
  1. 浏览器通过locolhost:category/index就可以访问到view里的视图

四、使用EF增加Catogory数据,并且读取数据到页面

4.1整体流程梳理

  1. 在EF的数据上下文中直接添加数据
  2. 在NuGet里对数据进行写入
  3. Controller层使用依赖注入,读取Category表的数据
  4. 将数据传递给View层
  5. 在html页面里,使用模板语法读取Controller层传递的数据

4.2 实现

  1. EF上下文中,添加需要写入数据库的实体类Data/ApplicationDBContext.cs
namespace MyMvcDemo.Data
{
   
    public class ApplicationDBContext : Db