当前位置: 首页 > news >正文

.net core MVC入门(一)


文章目录

  • 项目地址
  • 一、环境配置
    • 1.1 安装EF core需要包
    • 1.2 配置数据库连接
  • 二、使用EF创建表
    • 2.1 整体流程梳理
    • 2.1 建表详细流程
  • 三、添加第一个视图
    • 3.1整体流程梳理
    • 3.1 添加视图,并显示在web里
  • 四、使用EF增加Catogory数据,并且读取数据到页面
    • 4.1整体流程梳理
    • 4.2 实现
  • 五、增加Category按钮逻辑
    • 5.1 添加Create的Action,并且生成一个空的View
    • 5.2 在category页面添加Create按钮
    • 5.2 在Create的视图里创建表单


项目地址

  • 教程作者:王教员
  • 教程地址:
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 建表详细流程

  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; }   }
}
  1. Data/ApplicationDBContexts.cs下面,导入Model,添加Category类
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

三、添加第一个视图

3.1整体流程梳理

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

3.1 添加视图,并显示在web里

  1. 在Controller层,创建一个名为CategoryController的空的mvc控制器
using Microsoft.AspNetCore.Mvc;namespace MyMvcDemo.Controllers
{public class CategoryController : Controller{public IActionResult Index(){return View();}}
}
  1. 在View层,创建该控制器对应的视图Category/index.cshtml
<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 : DbContext{public ApplicationDBContext(DbContextOptions<ApplicationDBContext> options) : base(options){}public DbSet<Category> Categories { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.Entity<Category>().HasData(new Category { CategoryId = 1, Name = "Fruit", DisplayOrder = 1 },new Category { CategoryId = 2, Name = "Vegetable", DisplayOrder = 2 },new Category { CategoryId = 3, Name = "Meat", DisplayOrder 
http://www.lryc.cn/news/491358.html

相关文章:

  • 802.11协议
  • 【Linux】线程ID与互斥、同步(锁、条件变量)
  • Android 13 编译Android Studio版本的Launcher3
  • burp功能介绍
  • Android12 的 Vold梳理
  • [pdf,epub]162页《分析模式》漫谈合集01-35提供下载
  • Vue2教程003:Vue指令之v-bind和v-for
  • Pathlib操作文件IN Python
  • AOC显示器915Sw按键失灵维修记
  • 霍曼转移方法介绍
  • 我的创作之路:机缘、收获、日常与未来的憧憬
  • 《硬件架构的艺术》笔记(六):处理字节顺序
  • AddIPAddress添加临时IP后,socket bind失败
  • 关于IDE的相关知识之一【使用技巧】
  • 线性代数在人工智能领域中的实践
  • 图片生成视频-右进
  • 3、集线器、交换机、路由器、ip的关系。
  • w~视觉~合集25
  • Applicaiton配置文件
  • (已解决)wps无法加载此加载项程序mathpage.wll
  • ubity3D基础
  • Python2和Python3的区别
  • Spring框架整合单元测试
  • docker-mysql
  • Java程序基础⑤Java数组的定义和使用+引用的概念
  • electron主进程和渲染进程之间的通信
  • uniapp 安卓和ios震动方法,支持息屏和后台震动,ios和安卓均通过测试
  • # DBeaver 连接hive数仓
  • STM32H7开发笔记(2)——H7外设之多路定时器中断
  • Pytorch使用手册-Build the Neural Network(专题五)