中型网站每天访问量,seo的优化方案,举报网站平台,最新新闻热点事件摘抄300字文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建… 文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建Extensions用来管理服务注入5. 在Program.cs程序入口注册AddInfrastructure服务6. 创建Seed服务7. 注册Seed服务 1.1.5 配置SeriLog1. 安装SeriLog2. 程序入口注册和使用3. 配置Serilog4. 开启EF Core日志记录 1.3 创建获取所有Product的接口1.3.1 安装CQRS所需要的包1.3.2 创建ProductDto1. 创建Dto模型2. 使用AutoMapper建立映射关系 1.3.3 创建Controllers1. 创建IMediator服务将AddApplication注册到program里 2. 创建查询的Query3. 创建Handler4. 创建IProductsRepository接口5. 实现接口方法6. 将IProductsRepository服务注册到Extension里 二、创建React环境2.1 使用vite创建react项目2.1.1 创建项目2.1.2 配置端口2.1.3 启动项目 2.2 显示后端接口的product数据2.2.1 创建Product类2.2.2 创建Layout页面2.2.3 Catalog组件展示Product列表 2.3 Materail UI使用2.3.1 安装Material ui 项目地址
教程作者:教程地址:https://github.com/TryCatchLearn/Restore代码仓库地址:所用到的框架和插件:一、创建.Net环境
1.1环境配置
1.1.1 使用vscode创建webapi
创建ReStore文件夹mkdir ReStore创建新的slndotnet new sln创建一个名为API的项目donete new webapi -o API给解决方案里添加项目dotnet sln add API进入到项目文件夹内,运行程序donet run 访问 http://localhost:5172/swagger,成功1.1.2 Clean architecture结构创建
引用关系图 1.1.3 将创建好结构的项目添加到git里 结构 前提:Git里有一个空的仓库ReStoreApi且没有master分支 #1.初始化本地仓库
git init#2. 上传代码到本地仓库
git add .
git commit -m "Initial commit"#3. 将远程仓库添加为 origin
git remote add origin https://github.com/CXTV/ReStoreApi.git#4.确保正确设置分支
git branch -M main#5. 推送代码到远程仓库
git push -u origin main
1.1.4 EF Core配置
1. 在infrastructure里安装EF所需环境 ItemGroupPackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" /PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0"PrivateAssetsall/PrivateAssetsIncludeAssetsruntime; build; native; contentfiles; analyzers; buildtransitive/IncludeAssets/PackageReferencePackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" /PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0"PrivateAssetsall/PrivateAssetsIncludeAssetsruntime; build; native; contentfiles; analyzers; buildtransitive/IncludeAssets/PackageReference/ItemGroup2. 创建Product数据模型
在ReStore.Domain/Models/Product.cs里创建Product表的模型namespace ReStore.Domain.Models
{public class Product{public int Id { get; set; }public string Name { get; set; }public string Description { get; set; }public long Price { get; set; }public string PictureUrl { get; set; }public string Type { get; set; }public string Brand { get; set; }public int QuantityInStock { get; set; }}
}3. 创建EF Core的DbContext 数据库上下文
在ReStore.Infrastructure/Persistance/ReStoreDbContext.cs里创建EF的数据库上下文,用来管理数据操作是数据库和程序的桥梁using Microsoft.EntityFrameworkCore;
using ReStore.Domain.Models;namespace ReStore.Infrastructure.Persistance
{internal class ReStoreDbContext : DbContext{public ReStoreDbContext(DbContextOptionsReStoreDbContext options) : base(options){}public DbSetProduct Products { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){}}
}4. 创建Extensions用来管理服务注入
创建ReStore.Infrastructure/Extensions/ServiceCollectionExtensions.cs ,Infrustructure 层的所有服务注册,都在该文件里进行,这样可以保持program.cs文件的结构整洁
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using ReStore.Infrastructure.Persistance;
using ReStore.Infrastructure.Seeds;namespace ReStore.Infrastructure.Extensions
{public static class ServiceCollectionExtensions{//将program.cs中的服务注册移到这里public static void AddInfrastructure(this IServiceCollection services,