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 7880cf5b2ece1af64a81e3809a6749c3b2c3c6c8..3b84070e17bf324c48e63d31b16f6ad8173e5854 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,40 @@ -# 06-28笔记 \ No newline at end of file +# 06-28笔记 + +## 创建api项目 +1. 首先安装个插件 + + * 在插件中心搜索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 项目名称,可以将项目加入到解决方案 + ++ 到这我们基本的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 17276ba79891c20ce950d98170ad697b603bd52e..241731b3718c1a7899c9eb09188369c4c586564d 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,88 @@ -# 06-30笔记 \ No newline at end of file +# 06-30笔记 +* 前面我们说了如何创建Api项目和如何使用,下面我们来自己封装一系列增删改查的功能,这里呢我们使用sqlserver数据库以及Entity Framework (EF) Core技术以下简称EF + +## 使用EF创建数据库和连接 + +### 安装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. 这时候打开我们的数据库会发现已经自动生成啦! 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 0000000000000000000000000000000000000000..5e92a35bf027afeb713d89e59804bdeed1d1e185 --- /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 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 0000000000000000000000000000000000000000..e2c0c00be78d53aee911ab5c89d2f60ef4622038 --- /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 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 0000000000000000000000000000000000000000..e16fe6ebcec6fad3ad9903465eb87585cb055951 --- /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 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 0000000000000000000000000000000000000000..6a4591212ef33875251c592b9253f35e62d8ab4f --- /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