MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

news/2024/5/19 23:40:02 标签: mongodb, .netcore, 数据库, .net, c#

前言:

  前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程。本章节主要介绍的是如何快熟搭建一个简单明了的后端项目框架。

MongoDB从入门到实战的相关教程

MongoDB从入门到实战之MongoDB简介👉

MongoDB从入门到实战之MongoDB快速入门👉

MongoDB从入门到实战之Docker快速安装MongoDB👉

MongoDB从入门到实战之MongoDB工作常用操作命令👉

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建👉

YyFlight.ToDoList项目源码地址

欢迎各位看官老爷review,有帮助的别忘了给我个Star哦💖!!!

GitHub地址:GitHub - YSGStudyHards/YyFlight.ToDoList: 【.NET8 MongoDB 待办清单系统】.NET8 MongoDB从入门到实战基础教程,该项目后端使用的是.NET8、前端页面使用Blazor、使用MongoDB存储数据,更多相关内容大家可以看目录中的MongoDB从入门到实战的相关教程。该系列教程可作为.NET Core入门项目进行学习,感兴趣的小伙伴可以关注博主和我一起学习共同进步。

为什么选择ASP.NET Core?

  首先请你不要再停留在ASP.NET 4.x时代了,不要一听到.NET就是性能不行、不能跨平台、拖控件等等各种诟病。首先ASP.NET Core是对 ASP.NET 4.x 的重新设计(包括体系结构上的更改),是一个跨平台的高性能、精简、模块化、更支持云原生的开源框架。

ASP.NET Core 具有如下优点:

  • 生成 Web UI 和 Web API 的统一场景。
  • 针对可测试性进行构建。
  • Razor Pages 可以使基于页面的编码方式更简单高效。
  • Blazor 允许在浏览器中使用 C# 和 JavaScript。 共享全部使用 .NET 编写的服务器端和客户端应用逻辑。
  • 能够在 Windows、macOS 和 Linux 上进行开发和运行。
  • 开放源代码和以社区为中心。
  • 集成新式客户端框架和开发工作流。
  • 支持使用 gRPC 托管远程过程调用 (RPC)。
  • 基于环境的云就绪配置系统。
  • 内置依赖项注入。
  • 轻型的高性能模块化 HTTP 请求管道。
  • 能够托管于以下各项:
    • Kestrel
    • IIS
    • HTTP.sys
    • Nginx
    • Apache
    • Docker
  • 并行版本控制。
  • 简化新式 Web 开发的工具。
各大编程语言性能测试结果的可视化图表:

开发者根据 The Benchmarks Game 的测试数据制作了一份可视化图表,如下所示,灰色反映的是时间效率,越短代表性能越好,棕色则是基于执行时间和内存开销的加权值。

可视化图表来源:各大编程语言性能测试结果的可视化图表 - OSCHINA - 中文开源技术交流社区

Visual Studio 2022 IDE下载

没有下载代码编辑器的同学可以通过以下链接下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

YyFlight.ToDoList应用分层

表现层(WebApi):

为用户提供接口,实现应用层与用户的交互。

应用层(Application):

业务代码主要编写层,表示层与领域层的桥梁。

仓储层(Repository):

数据访问的封装,通过隔离具体的存储层技术来实现保证业务逻辑的稳定性。

基础设施层(Infrastructure):

为其它各层提供通用的技术和基础服务,包括第三方工具、驱动、消息中间件、网关、文件、缓存以及数据库等。

新建YyFlight.ToDoList项目解决方案

 

 项目对外接口WebApi创建

 

项目Application应用层创建

 

 

项目Repository仓储层创建

 

 

项目Infrastructure基础设置层创建

 


http://www.niftyadmin.cn/n/5368321.html

相关文章

python二维数组初始化的一个极其隐蔽的bug(浅拷贝)

初始化一个三行三列的矩阵 m n 3初始化方式1 a [[0 for i in range(m)] for j in range(n)]初始化方式2 b [] row [0 for i in range(0,m)] for i in range(0,n):b.append(row)分别输出两个初始化的结果 for row in a:print(row) for row in b:print(row)当前的输出为…

Vue+Koa项目完整上线流程中遇到的问题

程序员有时候 “提笔忘字”, 以下是此次过程中遇到的问题流水账, 按顺序记录的, 不再细分什么前端后端了. 有些问题可能过于简单, 勿喷! 1, Koa 的 get, post 请求怎么获取参数 get 类请求: 直接使用 ctx.query 来获取前端传递来的参数 post 类请求: 需要使用到 koa-bodypar…

QQ音乐新版客户端的音乐无法解密?来看看解决方法!音乐解锁工具Web+批处理版本合集,附常见问题及解决方法!

一、软件简介 一般会员制音乐软件(如某抑云,某鹅,某狗音乐)的歌曲下载后都是加密格式,加密格式的音乐只能在特定的播放器中才能播放,在其他音乐播放器和设备中则无法识别和播放。音乐解锁工具的作用就是将…

centos 7.6 安装cas 对接ldap 单点登录实战

centos 7.6 安装cas 对ldap 单点登录实战 1、安装前准备工作1.1、centos 7.6 安装JDK 1.81.2、centos 7 安装tomcat 9.0.841.3、windows10 安装JDK 1.81.4、windows10 安装打包工具 maven 3.9.6 2、下载cas 5.3 并打包成war包3、部署cas到tomcat4、cas对接ldap 1、安装前准备工…

1-3 mininet中使用python API直接拓扑定义以及启动方式对比

作为SDN网络中搭建拓扑非常重要的仿真平台,我们可以使用mininet默认的库内拓扑文件,也可以使用python语言进行自定义拓扑。使用python进行拓扑定义时,不同的定义方式将导致其启动的方式由所不同。 一、采用最原始的命令启动方式: …

分析伦敦银报价总失败?你试试这样

做伦敦银交易的投资者要先对伦敦银报价进行分析,但是有些投资者反映自己分析伦敦银报价总是失败,抓不住市场价格的变化趋势,为什么会这样呢?我们可以从以下这两个方面来考虑。 转变分析工具。为什么分析伦敦银报价总失败&#xff…

DAY5 作业

1.TCP三次握手 2.TCP四次挥手 3.TCP和UDP的区别 相同点:都属于传输层的协议 不同点: TCP:1)提供面向连接的,可靠的数据传输服务; 2)传输过程中,数据无误,数据无丢失、数…

ChatGPT学习第一周

📖 学习目标 掌握ChatGPT基础知识 理解ChatGPT的基本功能和工作原理。认识到ChatGPT在日常生活和业务中的潜在应用。 了解AI和机器学习的基本概念 获取人工智能(AI)和机器学习(ML)的初步了解。理解这些技术是如何支撑…