10、增删改查(CRUD)方法编写

查询单条数据

添加数据

 添加成功

 成功添加显示

 修改数据

修改成功

 第二条数据成功更改

 

 删除数据

 删除第一条数据,删除成功

 

Category控制器代码如下:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using shopingPro.Data;
using shopingPro.Models;

namespace shopingPro.Controllers
{
    //URL + HTTP = RESTfull开发风格

    [Route("api/[controller]")]
    [ApiController]
    public class CategoryController : ControllerBase
    {
        private readonly ShopDbContext _db;

        //通过构造函数注入数据库上下文
        public CategoryController(ShopDbContext db)
        {
            _db = db;
        }

        //async:异步,增加代码并发量,
        //因为请求发送到服务器上都是通过线程池来处理,线程池是有一定容量的,容量满之后就很难处理,
        //而通过异步可以增加容量,提高服务器性能

        /// <summary>
        /// 查询所有数据
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<ActionResult<IEnumerable<Category>>> GetList()
        {
            return await _db.Categories.ToListAsync();
        }

        /// <summary>
        /// 查询单个数据
        /// </summary>
        /// <returns></returns>
        [HttpGet("{id}")]
        public async Task<ActionResult<Category>> GetOne(int id)
        {
            var category = await _db.Categories.FindAsync(id);
            if(category == null)
            {
                return NotFound();
            }
            return category;
        }

        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ActionResult<int>> AddOne(Category model)
        {
            await _db.Categories.AddAsync(model);
            await _db.SaveChangesAsync();
            return model.Id;
        }

        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPut]
        public async Task<IActionResult> PutOne(Category model)
        {
            var category = await _db.Categories.FindAsync(model.Id);
            if(category == null)
            {
                return NotFound();
            }
            category.Name = model.Name;
            await _db.SaveChangesAsync();
            return NoContent();
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpDelete("{id}")]
        public async Task<IActionResult> DeleteOne(int id)
        {
            var category = await _db.Categories.FindAsync(id);
            if (category == null)
            {
                return NotFound();
            }

            _db.Categories.Remove(category);
            await _db.SaveChangesAsync();
            return NoContent();
        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值