XiaoQi.Study项目

Posted xiaoqiyaozou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XiaoQi.Study项目相关的知识,希望对你有一定的参考价值。

一、项目创建

  vs 2019 创建 asp.net core api 项目

二、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:CodeProjectXiaoQi.StudyXiaoQi.Study.APIDBuserinfo.db"); } } }

  5、在 程序包管理器控制台下依次执行以下命令

  Add-Migration InitialCreate

  Add-Migration 命令为迁移搭建基架,以便为模型创建一组初始表。

 

  Update-Database

  Update-Database 命令创建数据库并向其应用新的迁移。

三、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注释

  右击 解决项目 点击技术图片,在以下节点加入以下内容 

<PropertyGroup>
  <GenerateDocumentationFile>true</GenerateDocumentationFile>
  <NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>

  

  

 

以上是关于XiaoQi.Study项目的主要内容,如果未能解决你的问题,请参考以下文章

python 用于数据探索的Python代码片段(例如,在数据科学项目中)

VsCode 代码片段-提升研发效率

片段项目不会折叠

片段中 ListView 的 setOnItemClickListener

从片段类中的对话框添加项目到recyclerview。

一旦单击带有 in 片段的回收器列表项,如何将片段意向活动,以及如何获取回收器项目值?