XiaoQi.Study项目(一)
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项目(一)的更多相关文章
- XiaoQi.Study 项目(三)
一.配置跨域 1.首先注册跨域要求 ,(可访问的IP.端口) //注册跨域 services.AddCors(options => { options.AddPolicy("XiaoQ ...
- XiaoQi.Study项目(二)
一.EF Core 使用的补充 1) 创建 接口 IEFCoreService 2) 实现 接口 EFCoreService 3) 在Startup.cs 中注册 ef 服务 并在控制器中注入使用 ...
- 使用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 ...
- 如何在GitHub上上传自己的项目
此文为转载,地址:https://blog.csdn.net/m0_37725003/article/details/80904824 本文链接:https://blog.csdn.net/m0_37 ...
- 手把手教你用原始方式上传项目至GitHub
小编GitHub:https://github.com/ds1889 首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join 有了自己的账号以后,就可以进行登 ...
- 新手小白如何向GitHub上提交项目
首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join 创建一个新的项目,填写项目名称,描述 创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上 ...
- Django创建项目时应该要做的几件事
终于可以在假期开始学习 Django 啦 !
- Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群
Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...
- 一台电脑支持2个git账号:gitlab+github
一.背景 1.公司使用gitlab保存代码,git已支持. 2.需要新增一个人github账户.创建study项目并提交到github上. 3.git提交时互相不混淆 二.操作流程 1.注册githu ...
随机推荐
- Qt 添加Includes、Libraries库
1 #------------------------------------------------- # # 加载相机SDK-Includes-Libraries # #------------- ...
- GOM通区插件-支持GOM绝对路径-读取配置项-分割字符等功能。不定期更新
A-A+ 2019年07月19日 Gom引擎 阅读 45 views 次 [@Main] #IF #SAY [<读配置项/@读配置项>] [<写配置项/@写配置项>] [& ...
- hql错误:No data type for node: org.hibernate.hql.ast.tree.IdentNode
今天写了一个查询,用的是hql,数据库是mysql.多表联查,结果报错了报: \-[IDENT] IdentNode: 'routerNumber' {originalText=routerNumbe ...
- 吴裕雄--天生自然 R语言开发学习:回归(续四)
#------------------------------------------------------------# # R in Action (2nd ed): Chapter 8 # # ...
- django models 中choices之用法举例
CHOICES常用做单选属性,下面举例在django models中人物性别的用法: 我们先定义一个模型,名字为Students ,这个Students 包含了名字和性别两个字段,代码如下: from ...
- mongodb 4.0配置认证模块
use admin db.createUser({user:"root",pwd:"xxx",roles:[{role:"root",db: ...
- Emacs key bindings for vim users
Emacs key bindings for vim users | Scarletsky 盒子 盒子 博客 分类 标签 关于 RSS 搜索 文章目录 简介 Emacs 是一个文本编辑器,号称是伪装成 ...
- MySQL show命令的用法
show tables或show tables from database_name; // 显示当前数据库中所有表的名称 show databases; // 显示mysql中所有数据库的名称 sh ...
- Matplotlib数据可视化(3):文本与轴
在一幅图表中,文本.坐标轴和图像的是信息传递的核心,对着三者的设置是作图这最为关心的内容,在上一篇博客中虽然列举了一些设置方法,但没有进行深入介绍,本文以围绕如何对文本和坐标轴进行设置展开(对图像 ...
- git指令-版本回退
git指令-版本回退 回顾: 1. 修改文件 2. 添加到暂存区并提交 回顾对readme共三次修改: 1. 版本1:wrote a readme file Git is a version cont ...