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

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

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

  

  

XiaoQi.Study项目(一)的更多相关文章

  1. XiaoQi.Study 项目(三)

    一.配置跨域 1.首先注册跨域要求 ,(可访问的IP.端口) //注册跨域 services.AddCors(options => { options.AddPolicy("XiaoQ ...

  2. XiaoQi.Study项目(二)

    一.EF Core 使用的补充 1) 创建 接口 IEFCoreService 2)   实现 接口 EFCoreService 3) 在Startup.cs 中注册 ef 服务 并在控制器中注入使用 ...

  3. 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)

    1.下载jenkins 地址:https://jenkins.io/index.html 本人下载了2.19.3版本的war包:jenkins.war 2.安装jenkins 拷贝jenkins.wa ...

  4. 如何在GitHub上上传自己的项目

    此文为转载,地址:https://blog.csdn.net/m0_37725003/article/details/80904824 本文链接:https://blog.csdn.net/m0_37 ...

  5. 手把手教你用原始方式上传项目至GitHub

    小编GitHub:https://github.com/ds1889 首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join 有了自己的账号以后,就可以进行登 ...

  6. 新手小白如何向GitHub上提交项目

    首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join 创建一个新的项目,填写项目名称,描述 创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上 ...

  7. Django创建项目时应该要做的几件事

    终于可以在假期开始学习 Django 啦 !

  8. Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

    Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...

  9. 一台电脑支持2个git账号:gitlab+github

    一.背景 1.公司使用gitlab保存代码,git已支持. 2.需要新增一个人github账户.创建study项目并提交到github上. 3.git提交时互相不混淆 二.操作流程 1.注册githu ...

随机推荐

  1. java面试题 -- 基础

    1.抽象和封装的不同点抽象和封装是互补的概念.一方面,抽象关注对象的行为.另一方面,封装关注对象行为的细节.一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略.2.重载 ...

  2. Linux启动初始化配置文件浅析

    转自:http://blog.51cto.com/19055/1144600 1)/etc/profile   登录时,会执行. 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. (2)/ec ...

  3. CF-1102E-Monotonic Renumeration

    比较可惜昨天比赛的时候时间不够了,在比赛结束之后五分钟找出了bug提交通过了.然并软: 首先这题说b数组的后一项要么等于前一项,要么等于前一项加一,而且如果a[i] == a[j] ,那么b[i] = ...

  4. 4.2英寸的iPhone SE2就要来了!但你还会买单吗?

    SE2就要来了!但你还会买单吗?" title="4.2英寸的iPhone SE2就要来了!但你还会买单吗?"> 与其他手机厂商不同,苹果在手机市场的产品策略很&q ...

  5. SWUST OJ NBA Finals(0649)

    NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128   Descri ...

  6. iptables学习02-nat表应用

    nat表应用实验 第一步 准备工作 A机器两块网卡ens33(192.168.2.106).再添加一块自定义网卡ens37(192.168.100.1),添加到LAN内网区段(自定义名字,写什么无所谓 ...

  7. JavaScript的封装和继承

    提到JavaScript"面向对象编程",主要就是封装和继承,这里主要依据阮一峰及其他博客的系列文章做个总结. 继承机制的设计思想 所有实例对象需要共享的属性和方法,都放在这个对象 ...

  8. C++扬帆远航——11(斐波那契数列)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:Feibo.cpp * 作者:常轩 * 微信公众号:Worldh ...

  9. django之学习前的准备

    一.配置环境 Windows 10操作系统 Python安装配置教程参考:https://www.cnblogs.com/huangbiquan/p/7784533.html 安装Python虚拟环境 ...

  10. prometheus服务发现机制

    一. Prometheus与服务发现 1.1 目前支持的服务发现方式 二. 案例 2.1 基于文件的服务发现 2.2 基于Consul的服务发现 三.本地测试 3.1 基于文件的服务发现 1.测试环境 ...