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. insecticide|contradictions| at large|delay doing|

    N-MASS 杀虫剂;杀虫药Insecticide is a chemical substance that is used to kill insects. Spray the plants wit ...

  2. Hadoop什么?

    Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中 ...

  3. python3爬虫:利用urllib与有道翻译获得翻译结果

    在实现这一功能时遇到了一些困难,由于按照<零基础入门python>中的代码无法实现翻译,会爆出“您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai ...

  4. 用数组实现队列(C++)

    #include <iostream> using namespace std; template<typename T, int size = 0> class Queue ...

  5. RDS的tar文件恢复到本地mysql5.7版本数据库

    参考博客: 安装qpress软件 https://blog.csdn.net/a18838964650/article/details/82800621 文章介绍补充 https://www.cnbl ...

  6. <SCOI2009>粉刷匠の思路

    emm.dp真的是写不来啊难过 不边写边注释我就挂了 #include<cstdio> #include<cstring> #include<iostream> # ...

  7. 你还记得2017年火爆的VR街机店,这一年他们过得还好吗?

    对于当下太过急于成功.一夜暴富的人们来说,似乎总是会急不可耐地去抓住每一个有可能成为大势的风口.在这份普遍存在的浮躁心理下,蕴含着极大的不确定性--既让大众认识到太多的创新产品和服务,也让很多参与者痛 ...

  8. Spring5源码分析(1)设计思想与结构

    1 源码地址(带有中文注解)git@github.com:yakax/spring-framework-5.0.2.RELEASE--.git Spring 的设计初衷其实就是为了简化我们的开发 基于 ...

  9. hexo创建新文章的正确方法

    起因 之前我一直是通过复制以前的文章的形式来创建一个新的文档,但是这一次似乎遇到了一些问题.我将文章写完之后,准备进行预览,输入hexo s命令.在预览页面却没有显示出新的文章,还是和之前的页面是一样 ...

  10. js大作业(0)

    DAY1:在看HTML5游戏开发实战.手写了一遍乒乓球.自己玩了半小时.实话讲,和本科学的MFC差别不大.通过setInterval函数获取用户的输入 从而允许多用户操作.parseInt把字符串化为 ...