zoukankan      html  css  js  c++  java
  • 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>
    

      

      

  • 相关阅读:
    Erlang学习记录:转义
    Erlang学习记录:运算符
    Erlang学习记录:语法和特性
    Erlang学习记录:相关工具和文档
    IDEA快捷键(收集自网络后整理)
    Redis学习
    SQL_server_2008_r2和visual studio 2010旗舰版的安装(2013-01-16-bd 写的日志迁移
    oracle 11gR2 for win7旗舰版64安装以及连接plsql和NaviCat(win64_11gR2_database) (2012-12-31-bd 写的日志迁移
    win7在某个盘或文件夹中出现右键只能新建文件夹的情况 (2012-12-28-bd 写的日志迁移
    宏基笔记本升级bios(2012-12-28-bd 写的日志迁移
  • 原文地址:https://www.cnblogs.com/xiaoqiyaozou/p/12483724.html
Copyright © 2011-2022 走看看