一、.Net Core Minimai API

1、体积小,无需Api Controller

2、易编写,极简编程体验

3、简洁性,program搞定所有

创建完Web API后,打开Program.cs文件,把下面这段代码删掉,然后自己手写一个接口

以下是我们自定义接口的代码段

app.MapGet("/test", () =>
{return "ok";
});

后续对我们的后端列表做一些服务的时候,全部都是通过这种方式去开发我们的API,这能极大的提高我们的开发效率。

二、SqlSuger的介绍与安装

1、官网地址:

介绍:SqlSugar ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网

教学:SqlSugar&.NET6视频教程分享(含岗位内推) - 免费视频 - .NET果糖网

在项目中的依赖项中,打开管理NuGet包,搜索SqlSugerCore下载包即可

安装完成后创建一个User实体类,以供后续使用

三、通过SqlSugar实现Code First

1、根据数据库中的 字符串信息,动态的创建数据库

2、通过反射读取当前程序下的类,然后创建表

3、添加测试数据到数据库,来完成初始化

新建一个文件夹(Data),在下面创建一个我们所需要的辅助类(SqlSugarHelpers)

using System;
using System.Reflection;
using Api.Model;
using SqlSugar;namespace Api.Data
{public class SqlSugarHelpers{public static SqlSugarScope Db = new SqlSugarScope(new ConnectionConfig(){ConnectionString = "Data Source=DESKTOP-2DUF58Q\\SQLEXPRESS;Initial Catalog=Admin_Study;Persist Security Info=True;User ID=sa;Password=123456",DbType = DbType.SqlServer,//数据库类型IsAutoCloseConnection = true //不设置成true要手动close},db =>{//(A)全剧生效配置点,一般AOP和程序启动的配置扔这里面,所有上下文生效//调试SQL事件,可以删掉db.Aop.OnLogExecuting = (sql, pars) =>{Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响};});//初始化数据库public static string InitDateBase(){try{//创建数据库Db.DbMaintenance.CreateDatabase();//创建表string nspace = "api.Model";//通过反射,反射当前程序集Type[] ass = Assembly.LoadFrom(AppContext.BaseDirectory + "api.dll").GetTypes().Where(p => p.Namespace == nspace).ToArray();Db.CodeFirst.SetStringDefaultLength(200).InitTables(ass);//初始化数据//添加数据之前先清空Db.Deleteable<User>().ExecuteCommand();List<User> list = new List<User>();for(int i = 1;i <= 5; i++){list.Add(new User(){Id = Guid.NewGuid().ToString(),Name = "Tom" + i,Date = DateTime.Now,Address = "No.189,Grove St,Los Angeles",Order = i});}for (int i = 6; i <= 10; i++){list.Add(new User(){Id = Guid.NewGuid().ToString(),Name = "Tom" + i,Date = DateTime.Now,Address = "No.129,Grove St,Los Angeles",Order = i});}for (int i = 11; i <= 30; i++){list.Add(new User(){Id = Guid.NewGuid().ToString(),Name = "Tom" + i,Date = DateTime.Now,Address = "No.87,Grove St,Los Angeles",Order = i});}Db.Insertable(list).ExecuteCommand();return "ok";}catch(Exception ex){return ex.Message;}}}
}

四、相关接口的实现

写完四个方法之后,回到program.cs里面就可以做一个实现了

app.MapGet("/test", () =>
{return "ok";
});app.MapGet("/codefirst", () =>
{return SqlSugarHelpers.InitDateBase();
});app.MapPost("/list", (Model req) =>
{return SqlSugarHelpers.GetUsers(req);
});app.MapPost("/add", (AddReq req) =>
{return SqlSugarHelpers.Add(req);
});app.MapPost("/edit", (User req) =>
{return SqlSugarHelpers.Edit(req);
});app.MapGet("/del", (string ids) =>
{return SqlSugarHelpers.Del(ids);
});
app.Run();record WeatherForecast(DateTime Date, int TemperatureC, string? Summary)
{public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

ASP.Net Core 增删改查列表实例(三)相关推荐

  1. 用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例

    用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例.web服务用flask框架,数据库操作用的pymysql框架.教程在我B站有的. 开源地址:https://git ...

  2. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码

    本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...

  3. mybatis完整增删改查入门实例

    mybatis完整增删改查入门实例 编程步骤 ①创建Java工程. ②导入jar包. ③创建sqlMapConfig.xml配置文件,这是mybatis的入口. ④创建数据库,数据库表user_c,插 ...

  4. nodejs mysql 增删改查_nodejs操作mysql实现增删改查的实例

    首先需要安装mysql模块:npm install mysql --save 然后创建user数据表: 接着使用nodejs对数据库进行增删改查: .[活动]2017 CSDN博客专栏评选 [评论送书 ...

  5. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    JS组件系列--BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查 参考文章: (1)JS组件系列--BootstrapTable+Kno ...

  6. .net Core增删改查(API)

    项目背景WMS  智能仓储管理系统: 1.实现简单的增删改查: 1.1. Entities: using Qhbx.Tibet.Wms.Core.EnumDefinitions; using Syst ...

  7. ASP.NET MVC增删改查

    ASP.NET MVC中的增删改查 基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面.同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作.将数据传回 ...

  8. vue结合php增删改查实例,从vue基础开始创建一个简单的增删改查的实例

    1.安装vue-clicnpm install vue-cli -g  --执行全局安装 2.创建一个webpack的基础项目:命令:vue init webpack myproject; 以下是项目 ...

  9. java单链表 提供增删改查_java实现单链表增删改查的实例代码详解

    package 数据结构算法.链表; /* *定义节点 * 链表由节点构成 */ public class node { private e e; //数据data private node next ...

最新文章

  1. matlab genfunction,Keras / Python相当于nn工具箱中的Matlab的genFunction
  2. 深入了解asp.net框架。生命周期以及事件处理机制
  3. Chrome/Chromium HTML5 video 视频播放硬件加速
  4. pymysql.err.OperationalError: (1203, “User root already has more than ‘max_user_connections‘ active
  5. JavaWeb高性能开发(一)
  6. 发送邮件程序报错454 Authentication failed以及POP3和SMTP简介
  7. java静态代码块和构造方法_Java静态代码块和构造方法执行顺序
  8. vue中引用swiper轮播插件
  9. 如何在单击按钮时启动新活动
  10. tomcat源码分析--初始化与启动
  11. 爬虫进阶之路---处理滑块验证码(以解决极验平台的滑动验证码为例[附带本项目源码!],通过率百分之九十以上!!!)
  12. java 二进制转图片_Java如何把二进制数据转换成图片???
  13. SU(Seismic Unix)之sgy格式与su格式相互转化
  14. JAVA音视频解决方案----开源jtt1078源码与沟通群
  15. 再掀融资潮 团购网仍后劲不足(团购现状分析)
  16. 家用智能摄像头横评:小米、华为海雀、TP-LINK、智汀
  17. Linux环境下获取硬盘序列号
  18. 项目Beta冲刺(4/7)(追光的人)(2019.5.26)
  19. 电脑操作精典秘籍60式【实用】
  20. 用HTML5+CSS3实现qq会员页面的仿制

热门文章

  1. c语言系统编程八:Linux进程间通信之消息队列
  2. 《论文阅读》EmoBERTa: Speaker-Aware Emotion Recognition in Conversation with RoBERTa
  3. 【个人理解】简单理解前后端分离,微服务,分布式开发
  4. mongodb数据同步到oracle_数据库周刊41丨9月数据库排行榜;2020 数据技术嘉年华…...
  5. 程序员年薪60万,穿拖鞋挤地铁去相亲,女研究生:还说不是骗子?
  6. 更换MAC笔记本电池
  7. 2010年最大的ERP失败案例(1)
  8. Java并发包的灵魂AbstractQueuedSynchronizer
  9. 2022年秋中科大-数字图像分析-期末考试试卷回忆版及汇总--USTC
  10. 修改文件后缀的C语言实现