Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 大概步骤如下5步:

1、创建项目(Asp.net Core 2.1项目)

2、项目使用EF Core

3、建立实体

4、生成迁移文件(生成数据库)

5、使用VS工具生成视图、控制器代码

示例代码下载  https://github.com/ZhMartincheng/NetCoreDemo.git

1、创建项目(Asp.net Core 2.1项目)

 

选择.net core 版本2.1

 基础项目创建成功

2、项目使用EF Core

2.1、通过nuget 安装Microsoft.EntityFrameworkCore.SqlServer

项目右键管理nuget包

 安装成功

3、建立实体

学生实体

1public class Student 2 { 3 4 public int ID { get; set; } 5 6 public string Name { get; set; } 7 8 public int Age { get; set; } 9 10 public int ClassEnityId { get; set; } 11 12 public ClassEntiy classEnity { get; set; } 13 14 }

班级实体(一个班级多个学生)

1public class ClassEntiy 2 { 3 4 public int ID { get; set; } 5 6 public string ClassName { get; set; } 7 8 9 public virtual ICollection<Student> Students { get; set; } 10 11 }

  

4、生成迁移文件(生成数据库)

 配置链接字符串 "ConnectionStrings": {"SqlServer": "Data Source=.;Initial Catalog=TestDb;User Id=sa;Password=123;"}

创建 上下文对象 DbContext 

1using Microsoft.EntityFrameworkCore; 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Threading.Tasks; 6 7namespace NetCoreDemo.Models 8{ 9 public class ApplicationDbContext : DbContext 10 { 11 public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) 12 { 13 14 } 15 public DbSet<Student> Student { get; set; } 16 public DbSet<ClassEntiy> ClassEntitys { get; set; } 17 } 18}

 

代码配置数据库链接串

1var connection = Configuration.GetConnectionString("SqlServer"); 2services.AddDbContext<NetCoreDemo.Models.ApplicationDbContext>(options => 3options.UseSqlServer(connection, b => b.MigrationsAssembly("NetCoreDemo")));

 编译成功后执行生成迁移文件命令add-Migration Init

通过迁移文件生成数据库Update-Database

数据库生成成功。

5、使用VS工具生成视图、控制器代码

创建学生控制器

现在数据库上下文和实体

创建班级控制器

测试一下效果

首页链接修改一下

新增班级

班级列表

 增加学生信息

班级显示编码没显示名称,修改生成代码(create 和edit方法)

 

终于完成看效果

编辑效果

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Java修道之路,问鼎巅峰,我辈代码修仙法力齐天

<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 - HelloWorld