diff --git "a/\345\220\264\345\230\211\347\216\262/20241204\345\242\236\346\224\271linq.md" "b/\345\220\264\345\230\211\347\216\262/20241204-\345\242\236\346\224\271linq.md" similarity index 100% rename from "\345\220\264\345\230\211\347\216\262/20241204\345\242\236\346\224\271linq.md" rename to "\345\220\264\345\230\211\347\216\262/20241204-\345\242\236\346\224\271linq.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241205\345\210\240\351\231\244.md" "b/\345\220\264\345\230\211\347\216\262/20241205-\345\210\240\351\231\244.md" similarity index 100% rename from "\345\220\264\345\230\211\347\216\262/20241205\345\210\240\351\231\244.md" rename to "\345\220\264\345\230\211\347\216\262/20241205-\345\210\240\351\231\244.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241209\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" similarity index 100% rename from "\345\220\264\345\230\211\347\216\262/20241209\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" rename to "\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241212linq29.md" "b/\345\220\264\345\230\211\347\216\262/20241212-linq29.md" similarity index 100% rename from "\345\220\264\345\230\211\347\216\262/20241212linq29.md" rename to "\345\220\264\345\230\211\347\216\262/20241212-linq29.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" "b/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" new file mode 100644 index 0000000000000000000000000000000000000000..bcd733699c3c4892cd3c49627e156ee51267a151 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" @@ -0,0 +1,91 @@ +# 学生信息表(完整步骤) +1. Models中创学生表,成绩表,课程表 +如下: +```c# +public class Course{ + //主键Id + public int Id{get;set;} + //课程名称 + public string CourseName{get;set;}=null!; + // .... +} +``` + +2. Models中类数据库表实现上下文的交互(文件名称叫**ScoreDbContext**) +```c# +Using Microsoft.EntityFrameworkCore; +namespace ScoreDbContext : DbContext{ + //以下为数据库上下文的公开属性,将会被映射到数据库表 + public Dbset Students{get;set;}=null!; + public Dbset Courses{get;set;}=null!; + public Dbset Scores{get;set;}=null!; +} + +protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ + base.OnConfiguring(optionsBuilder); + + var conString = $"server=.\\SQLEXPRESS;database=Score4;uid=sa;pwd=123456;TrustServerCertificate=true;" + + optionsBuilder.UseSqlServer(conString) +} + +``` + +3. 实现交互在ScoreDbContext中的终端实现 + 1. 生成迁移文件:`dotnet ef migrations add XXX` + + 前提是: + - 第一得先安装依赖包(Design是数据库):`dotnet addd package Microsoft.EntityFrameworkCore.Design` + - 第二是需要一个工具,ef工具,安装命令是:`dotnet tool install --global dotnet-ef` + - 第三是要求程序不能有编译错误,若想确认有没有编译错误:`dotnet build` + - 第四是程序不能处于运行状态 + 2. 将迁移文件同步到数据库 +**若第三步成功会出现:Migrations文件夹** + +4. 打开数据库后,服务打开后开终端实现:`dotnet ef database update` +5. 可以打开数据库确认有没有成功 +6. 控制器中创建各个表的控制器:`studentController.cs ScoreController.cs CoureController.cs` +7. 创视图各个文件夹的Index例如: ++ 例如:课程的控制器: +```c# +// namespace .... +public class CourseController : Controller{ + //数据库的数据拿过来 + // _db是暂时的叫这个 + private readonly ScoreDbContext _db; + public CourseController(){ + _db = new ScoreDbContext(); + } + public IActionResult Index(){ + var list = _db.Course.ToList(); + return View(list); + } +} +``` +8. 视图创Index例如(课程信息表) +```c# +@model List; +
新增
+ +// .... +@foreach(var item in @Model){ + + + + + +} +
@item.Id@item.CourseName + 编辑 + 删除 +
+ +``` + +9. 插入数据(数据库中) +``` +insert into Course(CourseName) values('英语'),('语文').... +``` + +10. Course控制器为例:写Edit、Delete、Create + +11. Course视图中创Edit.cshtml、Delete.cshtml、Create.cshtml \ No newline at end of file