.NET 6 Entity Framework Core Db First(2) 增删改查
基础代码
- 在Program.cs注入DemoContext
- 新建HomeController,继承ControllerBase
- 添加Controller特性,[ApiController] [Route("[controller]/{action=index}")]
- 通过构造函数获取数据库上下文实例(DemoContext)
接口地址
为了方便测试,这里全部使用了HttpGet,也不需要传参数
1、查询
- http://localhost:5109/home
- http://localhost:5109/home/get/2
2、添加
- http://localhost:5109/home/add
3、修改
- http://localhost:5109/home/edit
4、删除
- http://localhost:5109/home/delete
具体代码
Program.cs
using EFDBFirstDemo.Model.Context;
using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); // Add services to the container. var connectionString = builder.Configuration.GetConnectionString("demo");
builder.Services.AddDbContext<DemoContext>(options => options.UseSqlServer(connectionString)); //数据库异常筛选器
builder.Services.AddDatabaseDeveloperPageExceptionFilter(); builder.Services.AddControllers(); var app = builder.Build(); // Configure the HTTP request pipeline. app.UseAuthorization(); app.MapControllers(); app.Run();
HomeController.cs
namespace EFDBFirstDemo.API.Controllers
{
[ApiController]
[Route("[controller]/{action=index}")]
public class HomeController : ControllerBase
{
public DemoContext _demoContext; public HomeController(DemoContext demoContext)
{
_demoContext = demoContext;
} public IActionResult Index()
{
var result = _demoContext.Students.ToList(); return Ok(result);
} [Route("{id?}")]
public async Task<IActionResult> Get(int id)
{
var result = await _demoContext.Students.FindAsync(id);
//var result = _demoContext.Students.FirstOrDefault(l => l.Id == id);
return Ok(result);
} //[HttpPost]
public async Task<IActionResult> Add()
{
var student = new Student
{
StudentName = "张三",
EnrollmentData = DateTime.Now
};
_demoContext.Add(student);
var result = await _demoContext.SaveChangesAsync();
return Ok(result);
} //[HttpPost]
public async Task<IActionResult> Edit()
{
var student = new Student
{
Id = 2,
StudentName = "李四",
EnrollmentData = DateTime.Now
};
_demoContext.Update(student);
var result = await _demoContext.SaveChangesAsync();
return Ok(result);
} //[HttpPost]
public async Task<IActionResult> Delete()
{
var student = new Student
{
Id = 1
};
//_demoContext.Students.Remove(student);
_demoContext.Remove(student);
var result = await _demoContext.SaveChangesAsync();
return Ok(result);
}
}
}
.NET 6 Entity Framework Core Db First(2) 增删改查的更多相关文章
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...
- EF(Entity Framework)通用DBHelper通用类,增删改查以及列表
其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...
- Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 增、查、改、删操作
Create, Read, Update, and Delete operations¶ 5 of 5 people found this helpful By Tom Dykstra The Con ...
- 基于Entity Framework的自定义分页,增删改的通用实现
简介 之前写个一个基于Dapper的分页实现,现在再来写一个基于Entity Framework的分页实现,以及增删改的通用实现. 代码 还是先上代码:https://github.com/jinwe ...
- Entity Framework 学习系列(4) - EF 增删改
目录 写在前面 一.开发环境 二.创建项目 三.新增 1.单表新增 2.批量新增 3.多表新增 四.编辑 1.先查询,后编辑 2.创建实体,后编辑 五.删除 写在前面 在上一小节中,学习了如何 通过C ...
- Core Data 基本数据操作 增删改查 排序
所有操作都基于Core Data框架相关 API,工程需要添加CoreData.framework支持 1.增 NSEntityDescription insertNewObjectForEntit ...
- 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现
<在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- Entity Framework Core 1.1 升级通告
原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...
- UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?
选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软 ...
随机推荐
- NumPy 数组切片及数据类型介绍
NumPy 数组切片 NumPy 数组切片用于从数组中提取子集.它类似于 Python 中的列表切片,但支持多维数组. 一维数组切片 要从一维数组中提取子集,可以使用方括号 [] 并指定切片.切片由起 ...
- 检索增强生成RAG-书生浦语大模型实战营学习笔记3&大语言模型8
大语言模型学习-8.检索增强生成RAG 书生浦语大模型实战营学习笔记3 本文主要涉及检索增强生成相关基础知识,也包括第二期实战营的第3课的内容 动机 当今大语言模型存在幻觉现象,即大模型会无意义或不忠 ...
- 如何使用go module导入本地包
go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具. 到今天Go1.14版本推出之后Go modules 功能 ...
- java stream数据分组 stream().collect(groupingBy
List<Map<String, Object>> foreList = forecastDataDao.getcityforeresults(param); Map<S ...
- zabbix使用
安装部署6.0版本 获取仓库 https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=centos&os_versi ...
- Excel功能学习
字符串和单元格内容拼接函数CONCATENATE a@马踏星空:=CONCATENATE(D2,E2,F2)拼接指定单元格内字符串,无分隔符 a@马踏星空:=CONCATENATE(I4," ...
- MySQL所有的主从同步架构搭建方式
目录 一.前言 二.关于MySQL主从同步 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.四台机器上使用通用二进制包安装MySQL(以node7为例) 5.1 上传MyS ...
- centos7中输入ifconfig 没有IP地址
vmware安装的centos7中没有出现eth0网卡,也没有ip,不能上网,输入ifconfig后如下图 解决办法 1.编辑网卡的配置文件 vi /etc/sysconfig/network-scr ...
- yum install 出错
``` yum -y install ansible ``` 出错 一直在刷屏,刚开始以为在安装但是最后没有安装成功 百度发现是这是redhat7和8的yum源混用 1.先确认本机器系统信息 cat ...
- (八十七)c#Winform自定义控件-朝上的瓶子
官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...