asp.net core实践笔记:WebAPI(EF+Pomelo+MySQL)Code-First Repository模式

本文记录了使用ASP.NET Core创建WebAPI的过程,结合Entity Framework (EF) 和 Pomelo.EntityFrameworkCore.MySql 库操作MySQL数据库,采用Code-First Repository模式。文章详细介绍了从项目创建、安装依赖、建立实体类、数据上下文、接口、实现类到数据库迁移的步骤,并提供了运行和验证API的方法。
摘要由CSDN通过智能技术生成

前言

活到老,学到老。

需要用到asp.net core写个小工具,n+n年前曾经用过asp写过一个小网站,但,asp.net core跟asp只是名字相似罢了。

前段时间学习了一下,在此写些文字分享一下,权当是笔记吧,希望能做到温故而知新。感觉知识点还是蛮多的,好在之前有学习过C#和WPF,对学习asp.net core还是非常有帮助的。最终目的是做一个前后端分离的小工具站点并用Docker部署,不知晓最后能不能完成目标,也无法估计需要多长时间,且学且做了。

网上一搜,相关的信息太多了,但说到要找到最适合自己的教程资料却也殊为不易,因为乱花迷人眼啊,这就需要看运气和个人的学习习惯了。分享下鄙人主要的学习资料来源:

  • https://dotnettutorials.net/lesson/introduction-to-asp-net-core/ 网站
    在这里插入图片描述
    个人觉得此网站上的asp.net core教程写得比较通俗易懂,非常适合快速入门。注意有些页面(章节)会有重复的内容。

  • 《Pro ASP.NET Core 3 – Eighth Edition》
    在这里插入图片描述
    叙述详细,文字比较多,需要耐心和时间才能看下去。目前只看了前面三部分,第四部分(高级功能)有需要时再参考。基本上按书的例程做了一遍(除了单元测试的部分),感觉上:有些懂了、有些似懂非懂、有些还没有懂。

/*********************************** 分界线 ***********************************/

开发环境

这是一个后端WebAPI的建立过程笔记,环境如下:

VisualStudio 2019
{
.NET Core 3.1

Microsoft.EntityFrameworkCore(5.0.13)
Microsoft.EntityFrameworkCore.Tools(5.0.13)
Pomelo.EntityFrameworkCore.MySql(5.0.4)
}

MySQL管理器:HeidiSQL,Ver:11.3
MySQL:不折腾,直接采用小皮面板(PHPStudy),Ver:5.7.26;
在这里插入图片描述

建立WebAPI项目

项目创建

从零开始,创建一个名为:MyFirstWebAPI的Project,比较简单,参考下列截图:
在这里插入图片描述
在这里插入图片描述
确保Target Framework为 .NET Core 3.1,Authentication Type为None,不启用HTTPS和Docker。
在这里插入图片描述

安装依赖包

通过NuGet Package Manager安装以下依赖包(注意版本!):
Microsoft.EntityFrameworkCore(5.0.13)
Microsoft.EntityFrameworkCore.Tools(5.0.13)
Pomelo.EntityFrameworkCore.MySql(5.0.4)

同样比较简单,参考下列截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码构建步骤

基本上,建立一个EntityFramework+Pomelo+MySQL的WebAPI,大概有11个步骤(位置)需要添加/修改相应代码,详细参考下图(图中的第一步已在上面【安装依赖包】小节完成):
在这里插入图片描述

1. 添加依赖包(参考:【安装依赖包】小节)
2. 建立POCO实体类(Soldier.cs)
using System.ComponentModel.DataAnnotations;

namespace MyFirstWebAPI.Models
{
   
	/// <summary>
	/// 定义Soldier实体类
	/// </summary>
	public class Soldier
	{
   
		/// <summary>
		///  标识主键
		/// </summary>
		[Key]
		public int Id {
    get; set; }

		public string FirstName {
    get; set; }

		public string LastName {
    get; set; }

		public string Number {
    get; set; }
	}
}

3. 建立DataContext类(DataContext.cs)
using Microsoft.EntityFrameworkCore;

namespace MyFirstWebAPI.Models
{
   
	public class DataContext : DbContext
	{
   
		public DataContext(DbContextOptions<DataContext> opts)
		: base(opts) {
    }

		/// <summary>
		/// 取得Gang7Lian数据表
		/// </summary>
		public DbSet<Soldier> Gang7Lian {
    get; set; }
	}
}

4. 建立Repository接口(ISoldierRepository.cs 注意:是接口!)
using System.Collections.Generic;
using System.Threading.Tasks;

namespace MyFirstWebAPI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值