文章目录
项目地址
一、环境配置
1.1 安装EF core需要包
1.2 配置数据库连接
二、使用EF创建表
2.1 整体流程梳理
2.1 建表详细流程
2.1.1 创建一个Category的Model
2.1.2 创建Category的EF实体
三、添加Category页面的视图
3.1整体流程梳理
3.2 添加Controller
3.3 添加View 视图
四、使用EF增加Catogory数据,并且读取数据到页面
五、增加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 配置数据库连接
在appsettings.json
下配置链接字符串
"ConnectionStrings": {
"DefaultConnection": "Server=.;Database=netdemo;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;"
}
在Nuget的控制台,输入update-database
,链接成功则数据库有EFcore的内容
SELECT TOP (1000) [MigrationId]
,[ProductVersion]
FROM [netdemo].[dbo].[__EFMigrationsHistory]
二、使用EF创建表
2.1 整体流程梳理
Models层,创建Category实体类
创建Data文件夹,并创建EF Core 数据上下文类,用于数据交互
在EF Core 数据上下文类里,引入并添加我们需要的类
NuGet控制台,执行migration语句
执行更新数据库语句
2.1 建表详细流程
2.1.1 创建一个Category的Model
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实体
在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 ; }
}
}
NuGet的控制台输入,执行成功后,会生成一个Migration文件夹和里面的snapshort,
add-migration AddCategoryTableToDb
再次执行,EF会识别出来Categroies的实体没有,自动创建表
update-database
三、添加Category页面的视图
3.1整体流程梳理
Controller层创建一个Category的控制器
然后在View层创建该控制器对应的视图
3.2 添加Controller
在Controller层,创建一个名为CategoryController
的空的mvc控制器
using Microsoft. AspNetCore. Mvc ;
namespace MyMvcDemo. Controllers
{
public class CategoryController : Controller
{
public IActionResult Index ( )
{
return View ( ) ;
}
}
}
3.3 添加View 视图
在View层,创建该控制器对应的视图Category/index.cshtml
,刚好对应的是IAcation的函数名
<h1>Category List</h1>
浏览器通过locolhost:category/index
就可以访问到view里的视图
四、使用EF增加Catogory数据,并且读取数据到页面
4.1整体流程梳理
在EF的数据上下文中直接添加数据
在NuGet里对数据进行写入
Controller层使用依赖注入,读取Category表的数据
将数据传递给View层
在html页面里,使用模板语法读取Controller层传递的数据
4.2 实现
EF上下文中,添加需要写入数据库的实体类Data/ApplicationDBContext.cs
namespace MyMvcDemo. Data
{
public class ApplicationDBContext : Db