XiaoQi.Study 之.net core webapi(一)
1、项目地址
https://github.com/xiaoqiyaozou1/XiaoQi.Study
2、项目创建
vs 2019 创建 asp.net core api 项目
3、EF Core 的基本使用
1、创建类库
2、引入下图相关包
3、创建Model 类 可以分开创建,我为了方便放到了一个cs文件。
4、创建上下文类
using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Text; using XiaoQi.Study.EF; namespace XiaoQi.Study.EF { public class MyContext : DbContext { public MyContext(DbContextOptions<MyContext> options) : base(options) { } public DbSet<UserInfo> UserInfos { get; set; } public DbSet<RoleInfo> RoleInfos { get; set; } public DbSet<UserRole_R> UserRole_Rs { get; set; } public DbSet<RoleMenu_R> RoleMenu_Rs { get; set; } public DbSet<MenuInfo> MenuInfos { get; set; } public DbSet<ButtonInfo> ButtonInfos { get; set; } public DbSet<MenuButton_R> MenuButton_Rs { get; set; }
//这部分对表的相关设置 protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<RoleInfo>() .HasKey(c => c.RoleId); modelBuilder.Entity<UserInfo>() .Ignore(c => c._RoleInfo) .HasKey(c => c.UserId); modelBuilder.Entity<UserRole_R>() .HasKey(c => c.UserRoleId); modelBuilder.Entity<RoleMenu_R>() .HasKey(o => o.RoleMenuId); modelBuilder.Entity<MenuInfo>() .HasKey(o => o.MenuInfoId); modelBuilder.Entity<ButtonInfo>() .HasKey(o => o.ButtonId); modelBuilder.Entity<MenuButton_R>() .HasKey(o => o.MenuButtonId); }
//设置表的连接字符串 或者sqlite 的绝对路径 protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseSqlite(@"Data Source=D:\Code\Project\XiaoQi.Study\XiaoQi.Study.API\DB\userinfo.db"); } } }
5、在 程序包管理器控制台下依次执行以下命令
Add-Migration InitialCreate
Add-Migration
命令为迁移搭建基架,以便为模型创建一组初始表。
Update-Database
Update-Database
命令创建数据库并向其应用新的迁移。
4、Swagger 的基本使用
1、安装 Swashbuckle.AspNetCore 包
2、添加并配置Swagger 中间件
1)Services 注册
//Swagger 相关注册 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "XiaoQi API", Version = "v1" }); //为Swagger json 和 UI 增加注释信息 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); c.IncludeXmlComments(xmlPath); });
2)启用中间件
app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.RoutePrefix = string.Empty; });
3)启用XML注释
右击 解决项目 点击,在以下节点加入以下内容
1 2 3 4 | <PropertyGroup> <GenerateDocumentationFile> true </GenerateDocumentationFile> <NoWarn>$(NoWarn);1591</NoWarn> </PropertyGroup> |
分类:
c#
, asp.net core
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~