当前位置: 首页 > news >正文

asp.net core 6.0 efcore +sqlserver增删改查的demo

asp.net core 6.0 efcore +sqlserver增删改查的demo

下面是一个使用ASP.NET Core 5.0和Entity Framework Core进行增删改查操作的示例。

首先,创建一个空的ASP.NET Core 6.0 Web应用程序项目。

然后,安装以下NuGet包:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
接下来,创建一个数据库上下文类,用于定义实体类和数据库连接配置。在项目中创建一个名为AppDbContext.cs的文件,并添加以下代码:

using Microsoft.EntityFrameworkCore;namespace EFCoreDemo.Models
{public class AppDbContext : DbContext{public AppDbContext(DbContextOptions<AppDbContext> options) : base(options){}public DbSet<Customer> Customers { get; set; }}
}

然后,创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件,并添加以下代码:

namespace EFCoreDemo.Models
{public class Customer{public int Id { get; set; }public string Name { get; set; }public string Email { get; set; }}
}

接下来,配置数据库连接。打开appsettings.json文件,并添加以下内容:

{"ConnectionStrings": {"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=EFCoreDemo;Trusted_Connection=True;MultipleActiveResultSets=true"},"Logging": {"LogLevel": {"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"}},"AllowedHosts": "*"
}

然后,在Startup.cs文件的ConfigureServices方法中添加以下代码,用于配置数据库上下文的依赖注入:

services.AddDbContext<AppDbContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

接下来,创建一个控制器类来处理增删改查操作。在项目中创建一个名为CustomersController.cs的文件,并添加以下代码:

using EFCoreDemo.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Threading.Tasks;namespace EFCoreDemo.Controllers
{[ApiController][Route("api/[controller]")]public class CustomersController : ControllerBase{private readonly AppDbContext _dbContext;public CustomersController(AppDbContext dbContext){_dbContext = dbContext;}[HttpGet]public async Task<ActionResult<IEnumerable<Customer>>> GetCustomers(){return await _dbContext.Customers.ToListAsync();}[HttpGet("{id}")]public async Task<ActionResult<Customer>> GetCustomer(int id){var customer = await _dbContext.Customers.FindAsync(id);if (customer == null){return NotFound();}return customer;}[HttpPost]public async Task<ActionResult<Customer>> CreateCustomer(Customer customer){_dbContext.Customers.Add(customer);await _dbContext.SaveChangesAsync();return CreatedAtAction(nameof(GetCustomer), new { id = customer.Id }, customer);}[HttpPut("{id}")]public async Task<IActionResult> UpdateCustomer(int id, Customer customer){if (id != customer.Id){return BadRequest();}_dbContext.Entry(customer).State = EntityState.Modified;try{await _dbContext.SaveChangesAsync();}catch (DbUpdateConcurrencyException){if (!_dbContext.Customers.Any(c => c.Id == id)){return NotFound();}else{throw;}}return NoContent();}[HttpDelete("{id}")]public async Task<IActionResult> DeleteCustomer(int id){var customer = await _dbContext.Customers.FindAsync(id);if (customer == null){return NotFound();}_dbContext.Customers.Remove(customer);await _dbContext.SaveChangesAsync();return NoContent();}}
}

最后,运行应用程序,并使用工具(例如Postman)测试增删改查操作。以下是一些示例请求的URL和请求体:

GET /api/customers:获取所有客户
GET /api/customers/{id}:根据ID获取客户
POST /api/customers:创建客户 请求体:
json
{
“name”: “John Doe”,
“email”: “john@example.com”
}
PUT /api/customers/{id}:更新客户 请求体:
json
{
“id”: 1,
“name”: “John Doe”,
“email”: “john.doe@example.com”
}
DELETE /api/customers/{id}:删除客户
希望这个示例能帮助你开始使用ASP.NET Core 6.0和Entity Framework Core进行增删改查操作。

http://www.lryc.cn/news/120783.html

相关文章:

  • HC32L110B6芯片测试
  • 关于我乱删注册表导致电脑没有声音这件事
  • Linux 命令 su 和 sudo 的区别
  • 微信小程序:Mobx的使用指南
  • 【Spring Boot】Spring Boot项目的创建和文件配置
  • Spring Cloud 智慧工地源码(PC端+移动端)项目平台、监管平台、大数据平台
  • 通达OA SQL注入漏洞【CVE-2023-4165】
  • centos7 安装 docker 不能看菜鸟教程的 docker 安装,有坑
  • ♥ vue中$nextTick()
  • 小程序裂变怎么做?小程序裂变机制有哪些?
  • Openlayers实战:使几何图形适配窗口
  • 活动发布会邀请媒体6步走
  • W6100-EVB-PICO作为TCP Client 进行数据回环测试(五)
  • emqx-5.1.4开源版使用记录
  • Java 线程池的原理与实现
  • 【idea】点击idea启动没反应
  • C# Atrribute和反射的简单例子
  • ASP.NET Core - 缓存之分布式缓存
  • 代理模式(C++)
  • C# 有效的字母异位词
  • R语言安装包Seurat
  • vue2中使用mixins(混入)和vue3中使用composable
  • 通过OpenTelemetry上报Python-flask应用数据(阿里云)
  • 使用node搭建服务器,前端自己写接口,将vue或react打包后生成的dist目录在本地运行
  • 一篇文章搞懂如何使用JDBC操作数据库,还有JDBC进阶操作
  • 9.3.2.1网络原理(UDP)
  • 21、stm32使用LTDC驱动LCD
  • 合并两个有序链表
  • 深入了解Unity的Physics类:一份详细的技术指南(七)(上篇)
  • 数据结构与算法-数组(附阿里面试题)