• 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:CodeProjectXiaoQi.StudyXiaoQi.Study.APIDBuserinfo.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注释

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

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

      

      

  • 相关阅读:
    line-height:150%和line-height:1.5的区别
    javascript: with 表单验证
    CSS实现背景透明,文字不透明,兼容所有浏览器
    关于伪类元素:before和:after
    图片预览实例分享
    微信浏览器取消缓存的方法
    学习笔记(四):jQuery之动画效果
    学习笔记(三):jQuery之DOM
    Git 常用命令
    开发规范(三)数据库 By 阿里
  • 原文地址:https://www.cnblogs.com/xiaoqiyaozou/p/12483724.html
Copyright © 2020-2023  润新知