From c570f9d15ef82d3a66b8b723dbf6fbe9519fc7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=AC=A3=E6=AC=A3?= Date: Sun, 29 Dec 2024 19:59:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...36\345\210\240\346\224\271\346\237\245.md" | 116 ++++++++++++++++++ ...71\344\270\215\346\266\210\345\244\261.md" | 81 ++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 "\351\273\216\346\254\243\346\254\243/20241223--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\343\200\201\345\255\246\347\224\237\350\241\250\345\242\236\345\210\240\346\224\271\346\237\245.md" create mode 100644 "\351\273\216\346\254\243\346\254\243/20241225--\346\210\220\347\273\251\350\241\250\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245\344\273\243\347\240\201\343\200\201\346\237\245\346\211\276\346\241\206\345\206\205\345\256\271\344\270\215\346\266\210\345\244\261.md" diff --git "a/\351\273\216\346\254\243\346\254\243/20241223--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\343\200\201\345\255\246\347\224\237\350\241\250\345\242\236\345\210\240\346\224\271\346\237\245.md" "b/\351\273\216\346\254\243\346\254\243/20241223--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\343\200\201\345\255\246\347\224\237\350\241\250\345\242\236\345\210\240\346\224\271\346\237\245.md" new file mode 100644 index 0000000..9a4e590 --- /dev/null +++ "b/\351\273\216\346\254\243\346\254\243/20241223--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\343\200\201\345\255\246\347\224\237\350\241\250\345\242\236\345\210\240\346\224\271\346\237\245.md" @@ -0,0 +1,116 @@ + +# 笔记 +## 连接数据库 +### 数据库上下文 +>安装安装包命令:dotnet add package Microsoft.EntityFrameworkCore.Sqlserver +```cs +namespace ScoreMasege.Models; +using Microsoft.EntityFrameworkCore; +public class ScoreDbContext:DbContext{ + public DbSet Students{get;set;}=null!; + public DbSet Scores{get;set;}=null!; + public DbSet Courses{get;set;}=null!; + + +protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ + base.OnConfiguring(optionsBuilder); + var constring=$"server=.\\SQLEXPRESS;database=ScoreDb;uid=sa;pwd=223344;TrustServerCertificate=true;"; + optionsBuilder.UseSqlServer(constring); +} +} + ``` +>生成迁移文件,打开数据库服务,更新到数据库 + +### 学生表增删改查 +#### 在控制器中的代码 + private readonly ScoreDbContext _db; + public StudentsController() + { + _db = new ScoreDbContext(); + } + public IActionResult Index(string abc) + { + + IEnumerable list; + if (string.IsNullOrEmpty(abc)) + { + list = _db.Students; + } + else + { + var tmp = _db.Students.Where(x => !x.IsDeleted); + list = tmp.Where(x => x.StudentCode.Contains(abc) || x.StudentName.Contains(abc)); + } + return View(list); + + + } + private static bool Judge(Student stu, string keyword) + { + if (stu.IsDeleted) + { + return false; + } + if (stu.StudentCode.Contains(keyword) || stu.StudentName.Contains(keyword)) + { + return true; + } + if (!string.IsNullOrEmpty(stu.Nickname)) + { + return stu.Nickname.Contains(keyword); + } + return false; + + } + + public IActionResult Create() + { + return View(); + } + public IActionResult Edit(int id) + { + var obj = _db.Students.FirstOrDefault(x => x.Id == id); + return View(obj); + } + [HttpPost] + public IActionResult Edit(Student input) + { + var obj = _db.Students.FirstOrDefault(x => x.Id == input.Id); + if (obj == null) + { + return NotFound(); + } + obj.StudentCode = input.StudentCode; + obj.StudentName = input.StudentName; + obj.Nickname = input.Nickname; + _db.SaveChanges(); + return RedirectToAction("Index"); + } + [HttpPost] + public IActionResult Create(Student input) + { + _db.Students.Add(input); + _db.SaveChanges(); + return RedirectToAction("Index"); + } + public IActionResult Delete(int id) + { + var obj = _db.Students.FirstOrDefault(x => x.Id == id); + if (obj == null) + { + return NotFound(); + } + return View(obj); + } + public IActionResult DeleteConfirm(int id) + { + var obj = _db.Students.FirstOrDefault(x => x.Id == id); + if (obj == null) + { + return NotFound(); + } + obj.IsDeleted = true; + _db.Students.Update(obj); + _db.SaveChanges(); + return RedirectToAction("Index"); + } diff --git "a/\351\273\216\346\254\243\346\254\243/20241225--\346\210\220\347\273\251\350\241\250\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245\344\273\243\347\240\201\343\200\201\346\237\245\346\211\276\346\241\206\345\206\205\345\256\271\344\270\215\346\266\210\345\244\261.md" "b/\351\273\216\346\254\243\346\254\243/20241225--\346\210\220\347\273\251\350\241\250\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245\344\273\243\347\240\201\343\200\201\346\237\245\346\211\276\346\241\206\345\206\205\345\256\271\344\270\215\346\266\210\345\244\261.md" new file mode 100644 index 0000000..28ef390 --- /dev/null +++ "b/\351\273\216\346\254\243\346\254\243/20241225--\346\210\220\347\273\251\350\241\250\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245\344\273\243\347\240\201\343\200\201\346\237\245\346\211\276\346\241\206\345\206\205\345\256\271\344\270\215\346\266\210\345\244\261.md" @@ -0,0 +1,81 @@ + +# 笔记 +```cs +//控制器 +using Microsoft.AspNetCore.Mvc; +using ScoreManger.Models; + +namespace ScoreManger.Controllers; + +public class ScoresController : Controller +{ + private readonly ScoreDbContext _db; + public ScoresController() + { + _db = new ScoreDbContext(); + } + public IActionResult Index() + { + // 查出所有的成绩记录 + var scores = _db.Scores.ToList(); + // 查出所有的学生记录 + var students = _db.Students.Where(x => !x.IsDeleted).ToList(); + // 查出所有的课程记录 + var courses = _db.Courses.ToList(); + + // 遍历成绩记录 + var res = scores.Select(x => + { + // 找到和当前成绩记录中的学生Id匹配的学生信息 + var tmpStudent = students.FirstOrDefault(z => x.StudentId == z.Id); + // 找到和当前成绩记录中的课程Id匹配的课程信息 + var tmpCourse = courses.FirstOrDefault(z => x.CourseId == z.Id); + + // 分别处理学生、课程没有找到的情况 + var tmpStudentName = tmpStudent == null ? "" : tmpStudent.StudentName; + var tmpCourseName = tmpCourse == null ? "" : tmpCourse.CourseName; + + // 返回新的,包含学生姓名和课程名称的信息 + var res = new + { + x.Id, + x.StudentId, + StudentName = tmpStudentName, + x.CourseId, + CourseName = tmpCourseName, + x.Scores + }; + return res; + }); + return View(res); + } +} + +//在视图 + + + + + + + + + + + + @foreach (var item in Model) + { + + + + + + + + } + +
Id课程名称学生名称成绩操作
@item.Id@item.CourseName@item.StudentName@item.Scores + 编辑 + 删除 +
+``` \ No newline at end of file -- Gitee