diff --git "a/\345\272\267\345\273\272\346\242\205/20241230--\346\210\220\347\273\251\350\241\250\345\242\236\345\210\240\346\224\271.md" "b/\345\272\267\345\273\272\346\242\205/20241230--\346\210\220\347\273\251\350\241\250\345\242\236\345\210\240\346\224\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..1c7da753282bf2bd1c2cfc8e445940413894f77a --- /dev/null +++ "b/\345\272\267\345\273\272\346\242\205/20241230--\346\210\220\347\273\251\350\241\250\345\242\236\345\210\240\346\224\271.md" @@ -0,0 +1,141 @@ +```cs +
+ 新增 +
+ + + + + + + + + + + + @foreach (var item in Model) + { + + + + + + + + } + +
Id课程名称学生名称成绩操作
@item.Id@item.CourseName@item.StudentName@item.Scores + 编辑 + 删除 +
+``` + + +```cs +

确定删除如下数据吗?

+ + + + + + + + + + + + + + + + + +
@Model.CourseId
@Model.StudentId
@Model.Scores
+ 确认删除 + 取消删除
+``` +```cs +@model Score; + +
+ + + + + + + + + + + + + + + + + +
课程Id
学生Id + +
成绩
取消保存
+
+``` + +```cs +@model ScoreManger.Dto.ScoreCreateDto; + +
+ + + + + + + + + + + + + + + + + +
课程Id
学生Id + +
成绩
取消保存
+
+ ``` + ```cs + namespace ScoreManger.Dto; + +public class ScoreCreateDto +{ + public int CourseId { get; set; } + public int StuId { get; set; } + public decimal Score { get; set; } +} +``` \ No newline at end of file diff --git "a/\345\272\267\345\273\272\346\242\205/20250103--\346\225\260\346\215\256\345\272\223\346\226\260\350\277\236\346\216\245\346\226\271\346\263\225.md" "b/\345\272\267\345\273\272\346\242\205/20250103--\346\225\260\346\215\256\345\272\223\346\226\260\350\277\236\346\216\245\346\226\271\346\263\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..1a2851389083476169fc88f7ae9d2302e971374a --- /dev/null +++ "b/\345\272\267\345\273\272\346\242\205/20250103--\346\225\260\346\215\256\345\272\223\346\226\260\350\277\236\346\216\245\346\226\271\346\263\225.md" @@ -0,0 +1,88 @@ + +# 更换数据库,为了能更好的部署在云服务器上(Linux操作系统) + +1. 有安装好数据库 + +- 在Debian上安装PostgreSQL数据库 +- 确认有没有安装好 +- 设置高强度密码 +- 设置允许远程访问数据库 + +2. 更换数据库驱动(配合ORM工具),并且重新生成迁移文件 + +- 移除原来的数据库驱动:Microsoft.EntityFrameworkCore.SqlServer,命令如下:dotnet remove package Microsoft.EntityFrameworkCore.SqlServer +- 安装新的数据库驱动:Npgsql.EntityFrameworkCore.Postgresql,命令如下:dotnet add package Npgsql.EntityFrameworkCore.Postgresql +- 更新数据库上下文的一些配置 +- 重新生成迁移文件 +- 同步迁移文件 +## 在Debian上安装PostgreSQL数据库 +需要在Debian系统上安装PostgreSQL数据库。可以通过以下命令来安装: +sudo apt update +sudo apt install postgresql postgresql-contrib +#### 确认有没有安装好 +安装完成后,可以通过以下命令来检查PostgreSQL服务的状态: +bash +sudo systemctl status postgresql +如果服务正在运行,说明安装成功。 +#### 设置高强度密码 +为了提高安全性,你需要为PostgreSQL的默认用户postgres设置一个高强度的密码。可以通过以下命令来设置: +bash +sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'your-strong-password';" +将your-strong-password替换为你选择的密码。 +#### 设置允许远程访问数据库 +为了允许远程访问PostgreSQL数据库,你需要修改配置文件postgresql.conf和pg_hba.conf。 +打开postgresql.conf文件: +bash +sudo nano /etc/postgresql/12/main/postgresql.conf + +找到listen_addresses行,并将其修改为: +conf +listen_addresses = '*' + +打开pg_hba.conf文件: +bash +sudo nano /etc/postgresql/12/main/pg_hba.conf + +在文件的末尾添加以下行,以允许所有IP地址访问数据库: +conf +host all all 0.0.0.0/0 md5 +保存并关闭文件后,重启PostgreSQL服务: +bash +sudo systemctl restart postgresql + +#### 更换数据库驱动(配合ORM工具),并且重新生成迁移文件 +在你的.NET项目中,你需要更换数据库驱动并更新数据库上下文的配置。 +移除原来的数据库驱动: +```cs +bash +dotnet remove package Microsoft.EntityFrameworkCore.SqlServer +``` +安装新的数据库驱动: +```cs +bash +dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL +``` +更新数据库上下文配置: 打开你的项目中的appsettings.json或相应的配置文件,将数据库连接字符串更改为PostgreSQL的格式: +```cs +{ + "ConnectionStrings": { + "DefaultConnection": "Host=your-server-ip;Port=5432;Database=your-database-name;Username=your-username;Password=your-password" + } +} +``` +将your-server-ip、your-database-name、your-username和your-password替换为实际的值。 + +### 移除原来的数据库驱动:Microsoft.EntityFrameworkCore.SqlServer,命令如下:dotnet remove package Microsoft.EntityFrameworkCore.SqlServer安装新的数据库驱动:Npgsql.EntityFrameworkCore.Postgresql,命令如下:dotnet add package Npgsql.EntityFrameworkCore.Postgresql更新数据库上下文的一些配置 + +#### 重新生成迁移文件 +在更换数据库驱动并更新配置后,你需要重新生成迁移文件以确保迁移与新的数据库兼容。 +删除现有的迁移文件: +bash +dotnet ef migrations remove +添加新的迁移: +bash +dotnet ef migrations add InitialCreate +#### 同步迁移文件 +最后,应用迁移以创建数据库结构: +bash +dotnet ef database update \ No newline at end of file