From bdec6c07b0b0cebf067082f80a049846e42f5418 Mon Sep 17 00:00:00 2001 From: sfy <1473209499@qq.com> Date: Mon, 5 Jul 2021 08:03:50 +0800 Subject: [PATCH 1/9] 0703-1 --- "\346\226\275\345\217\221\346\272\220/0703-001.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "\346\226\275\345\217\221\346\272\220/0703-001.md" diff --git "a/\346\226\275\345\217\221\346\272\220/0703-001.md" "b/\346\226\275\345\217\221\346\272\220/0703-001.md" new file mode 100644 index 0000000..5e92a35 --- /dev/null +++ "b/\346\226\275\345\217\221\346\272\220/0703-001.md" @@ -0,0 +1 @@ +# 07-03笔记 \ No newline at end of file -- Gitee From 5d05db20c7c3a9ca0ef8207763ad7cbbb6f375ed Mon Sep 17 00:00:00 2001 From: sfy <1473209499@qq.com> Date: Tue, 6 Jul 2021 14:12:24 +0800 Subject: [PATCH 2/9] 0705-1 --- "\346\226\275\345\217\221\346\272\220/0705-001.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "\346\226\275\345\217\221\346\272\220/0705-001.md" diff --git "a/\346\226\275\345\217\221\346\272\220/0705-001.md" "b/\346\226\275\345\217\221\346\272\220/0705-001.md" new file mode 100644 index 0000000..e2c0c00 --- /dev/null +++ "b/\346\226\275\345\217\221\346\272\220/0705-001.md" @@ -0,0 +1 @@ +# 07-05笔记 \ No newline at end of file -- Gitee From 39c48fdca3ae8e906f932e032d5da6e3a70ad7b2 Mon Sep 17 00:00:00 2001 From: sfy <1473209499@qq.com> Date: Tue, 6 Jul 2021 14:48:13 +0800 Subject: [PATCH 3/9] 0706-1 --- "\346\226\275\345\217\221\346\272\220/0706-001.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "\346\226\275\345\217\221\346\272\220/0706-001.md" diff --git "a/\346\226\275\345\217\221\346\272\220/0706-001.md" "b/\346\226\275\345\217\221\346\272\220/0706-001.md" new file mode 100644 index 0000000..e16fe6e --- /dev/null +++ "b/\346\226\275\345\217\221\346\272\220/0706-001.md" @@ -0,0 +1 @@ +# 07-06笔记 \ No newline at end of file -- Gitee From 821f73c6733d0ef64b2c08bf8b08bc15c6a6bef9 Mon Sep 17 00:00:00 2001 From: sfy <1473209499@qq.com> Date: Tue, 6 Jul 2021 17:40:17 +0800 Subject: [PATCH 4/9] 0628-2 --- .../0628-001.md" | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git "a/\346\226\275\345\217\221\346\272\220/0628-001.md" "b/\346\226\275\345\217\221\346\272\220/0628-001.md" index 7880cf5..72d37d3 100644 --- "a/\346\226\275\345\217\221\346\272\220/0628-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0628-001.md" @@ -1 +1,20 @@ -# 06-28笔记 \ No newline at end of file +# 06-28笔记 + +## 开始 +1. 首先安装3个插件 + + * 在插件中心搜索c#,安装C#、C# Extensions、C# XML Documentation Comments这三个插件 + + * 在插件中心搜索REST Client + +2. 创建sln解决方案 + + * 使用dotnet new sln,创建解决方案如果这样文件名称会默认为当前文件夹名称,如果要修改可以在命令后加-n 文件名 即可 + +3. 创建API项目 + + * 使用dotnet new webapi -n 文件名 --no-https,创建api项目,并禁用https服务 + +4. 将api项目加入到解决方案 + + * 使用dotnet sln add 项目名称,可以将项目加入到解决方案 \ No newline at end of file -- Gitee From ee271fbf12b5dff42af64834db060c3540174750 Mon Sep 17 00:00:00 2001 From: SFY <1473209499@qq.com> Date: Thu, 8 Jul 2021 09:35:59 +0800 Subject: [PATCH 5/9] 0708-1 --- "\346\226\275\345\217\221\346\272\220/0708-001.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "\346\226\275\345\217\221\346\272\220/0708-001.md" diff --git "a/\346\226\275\345\217\221\346\272\220/0708-001.md" "b/\346\226\275\345\217\221\346\272\220/0708-001.md" new file mode 100644 index 0000000..6a45912 --- /dev/null +++ "b/\346\226\275\345\217\221\346\272\220/0708-001.md" @@ -0,0 +1 @@ +# 07-08笔记 \ No newline at end of file -- Gitee From 30854dab9bfe2cc4652f551cd29447338032cff1 Mon Sep 17 00:00:00 2001 From: SFY <1473209499@qq.com> Date: Thu, 8 Jul 2021 11:38:06 +0800 Subject: [PATCH 6/9] 0628 --- .../0628-001.md" | 26 ++++++++++++++++--- .../0630-001.md" | 5 +++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git "a/\346\226\275\345\217\221\346\272\220/0628-001.md" "b/\346\226\275\345\217\221\346\272\220/0628-001.md" index 72d37d3..3b84070 100644 --- "a/\346\226\275\345\217\221\346\272\220/0628-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0628-001.md" @@ -1,7 +1,7 @@ # 06-28笔记 -## 开始 -1. 首先安装3个插件 +## 创建api项目 +1. 首先安装个插件 * 在插件中心搜索c#,安装C#、C# Extensions、C# XML Documentation Comments这三个插件 @@ -17,4 +17,24 @@ 4. 将api项目加入到解决方案 - * 使用dotnet sln add 项目名称,可以将项目加入到解决方案 \ No newline at end of file + * 使用dotnet sln add 项目名称,可以将项目加入到解决方案 + ++ 到这我们基本的Api项目就搭建好了那么下面我们来测试一下 + +## 运行 +* 在以上都完成的情况下我们可以先来看看这个简单的东西 + +1. 进入api项目 + + * cd 项目名称 +2. 运行项目 + + * dotnet run + +3. 创建一个接口测试文件 + + * 文件名.http + +4. 在接口文件中测试一下我们的get请求 + + * GET http://localhost:5000/WeatherForecast diff --git "a/\346\226\275\345\217\221\346\272\220/0630-001.md" "b/\346\226\275\345\217\221\346\272\220/0630-001.md" index 17276ba..acca794 100644 --- "a/\346\226\275\345\217\221\346\272\220/0630-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0630-001.md" @@ -1 +1,4 @@ -# 06-30笔记 \ No newline at end of file +# 06-30笔记 +* 前面我们说了如何创建Api项目和如何使用,下面我们来自己封装一系列增删改查的功能,这里呢我们使用sqlserver数据库以及Entity Framework (EF) Core技术以下简称EF + +## 使用EF \ No newline at end of file -- Gitee From da60a32e2b6433514579dc2a4f2dad24f0048e7b Mon Sep 17 00:00:00 2001 From: SFY <1473209499@qq.com> Date: Thu, 8 Jul 2021 11:40:09 +0800 Subject: [PATCH 7/9] 0630-2 --- "\346\226\275\345\217\221\346\272\220/0626-001.md" | 1 + "\346\226\275\345\217\221\346\272\220/0630-001.md" | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git "a/\346\226\275\345\217\221\346\272\220/0626-001.md" "b/\346\226\275\345\217\221\346\272\220/0626-001.md" index d062e5f..f10b1ba 100644 --- "a/\346\226\275\345\217\221\346\272\220/0626-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0626-001.md" @@ -24,6 +24,7 @@ namespace MyApiDemo.api.Data protected override void OnConfiguring(DbContextOptionsBuilder options)=> options.UseSqlServer(@"server=.;database=Demo;uid=sa;pwd=123456"); } + public class Users { public Users(){ diff --git "a/\346\226\275\345\217\221\346\272\220/0630-001.md" "b/\346\226\275\345\217\221\346\272\220/0630-001.md" index acca794..cb4885f 100644 --- "a/\346\226\275\345\217\221\346\272\220/0630-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0630-001.md" @@ -1,4 +1,6 @@ # 06-30笔记 * 前面我们说了如何创建Api项目和如何使用,下面我们来自己封装一系列增删改查的功能,这里呢我们使用sqlserver数据库以及Entity Framework (EF) Core技术以下简称EF -## 使用EF \ No newline at end of file +## 使用EF创建数据库和连接 + +### 创建数据库 \ No newline at end of file -- Gitee From cfbb1c61d555d67b8ff07017eda7d66ad29d3676 Mon Sep 17 00:00:00 2001 From: SFY <1473209499@qq.com> Date: Thu, 8 Jul 2021 16:49:10 +0800 Subject: [PATCH 8/9] 0626 --- "\346\226\275\345\217\221\346\272\220/0626-001.md" | 1 - 1 file changed, 1 deletion(-) diff --git "a/\346\226\275\345\217\221\346\272\220/0626-001.md" "b/\346\226\275\345\217\221\346\272\220/0626-001.md" index f10b1ba..d062e5f 100644 --- "a/\346\226\275\345\217\221\346\272\220/0626-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0626-001.md" @@ -24,7 +24,6 @@ namespace MyApiDemo.api.Data protected override void OnConfiguring(DbContextOptionsBuilder options)=> options.UseSqlServer(@"server=.;database=Demo;uid=sa;pwd=123456"); } - public class Users { public Users(){ -- Gitee From 7b3f1e32ad51360ce7f98a4a07853cfdeb1954bb Mon Sep 17 00:00:00 2001 From: SFY <1473209499@qq.com> Date: Fri, 9 Jul 2021 16:19:32 +0800 Subject: [PATCH 9/9] 0630 --- .../0630-001.md" | 84 ++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git "a/\346\226\275\345\217\221\346\272\220/0630-001.md" "b/\346\226\275\345\217\221\346\272\220/0630-001.md" index cb4885f..241731b 100644 --- "a/\346\226\275\345\217\221\346\272\220/0630-001.md" +++ "b/\346\226\275\345\217\221\346\272\220/0630-001.md" @@ -3,4 +3,86 @@ ## 使用EF创建数据库和连接 -### 创建数据库 \ No newline at end of file +### 安装EF + +* 使用dotnet add package Microsoft.EntityFrameworkCore.SqlServer来连接sqlserver数据库 + +* 使用dotnet add package Microsoft.EntityFrameworkCore来安装EF + +### 创建数据库 +* 这边以用户表为示例 + +1. 首先在api文件中创建数据库实体Entity文件夹 + +2. 在实体文件夹下创建数据库表实体类 + * 示例: + ``` + namespace AdminSfy.Api.Entity //文件路径 + { + public class Users //类名也可以理解为数据库表名如果有积类记得要继承! + { + //这里是数据库的各个字段,要使用属性来创建 + } + } + ``` + +3. 由于我们在数据库设计中不少字段是重复出现的这时候我们可以创建一个积类BaseEntity来用于继承 + * 示例: + ``` + using System; + + namespace AdminSfy.Api.Entity + { + public abstract class BaseEntity + { + public int Id { get; set; } + public bool IsActived { get; set; } + public bool IsDeleted { get; set; } + public DateTime CreatedTime { get; set; } + public DateTime UpdatedTime { get; set; } + public int DisplayOrder { get; set; } + public string Remarks { get; set; } + } + } + ``` + +4. 在api文件下创建Database文件夹 + +5. 进入Databasew文件夹内新建数据库文件 + * 这里的数据库文件是以.cs来创建的,具体内容见下: + * 示例: + ``` + using Microsoft.EntityFrameworkCore; //引入EF + using AdminSfy.Api.Entity; //引入数据表类 + + namespace AdminSfy.Api.Database + { + public class AdminSfyDb:DbContext //这里要记得继承EF的接口 + { + public DbSet Users{get;set;} //要生成的数据表 + + protected override void OnConfiguring(DbContextOptionsBuilder options) //重写这个方法并且连上我们的数据库 + { + options.UseSqlServer(@"server=.;database=AdminSfy;uid=sa;pwd=123456."); + } + } + } + ``` + +6. 完成了以上操作,我们接下来使用命令来连接数据库并且创建库生成表这种方法也被称为代码优先! + * dotnet build,执行这个命令如果出现命名空间“Microsoft”中不存在类型或命名空间名“OpenApi”(是否缺少程序集引用?)问题我们直接删除报错的地方即可 + +7. F5试跑一下程序 + * 这时候打开数据库会发现为什么还没创建呢,因为我们还没创建数据迁移文件,我们下面来继续操作 + +8. 使用dotnet tool install --global dotnet-ef安装dotnet-ef工具 + +9. 使用dotnet add package Microsoft.EntityFrameworkCore.Design安装EF依赖包 + +10. 使用 dotnet ef migrations add 创建数据迁移 来创建数据迁移文件 + * dotnet ef {存放数据库迁移文件的文件夹名称} add {数据名称} + +11. 创建我们的数据库 + * dotnet ef database update + +12. 这时候打开我们的数据库会发现已经自动生成啦! -- Gitee