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

Stella981
• 阅读 827

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项目)

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

选择.net core 版本2.1

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

 基础项目创建成功Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

2、项目使用EF Core

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

项目右键管理nuget包

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

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

 安装成功

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

3、建立实体

学生实体

public class Student
    {

      public int ID { get; set; }

        public string Name { get; set; }

        public int Age { get; set; }

      public int ClassEnityId { get; set; }

     public ClassEntiy classEnity { get; set; }

    }

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

public class ClassEntiy
    {

        public int ID { get; set; }

        public string ClassName { get; set; }


        public virtual ICollection<Student> Students { get; set; }

    }

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

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

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

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

创建 上下文对象 DbContext 

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace NetCoreDemo.Models
{
    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        {

        }
        public DbSet<Student> Student { get; set; }
        public DbSet<ClassEntiy> ClassEntitys { get; set; }
    }
}

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

代码配置数据库链接串

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

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

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

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

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

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

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

数据库生成成功。

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

创建学生控制器

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

现在数据库上下文和实体

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

创建班级控制器

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

测试一下效果

首页链接修改一下

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

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

新增班级

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

班级列表

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

 增加学生信息

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

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

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

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

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

终于完成看效果

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

编辑效果

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
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
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究