diff --git "a/\347\250\213\346\242\246/20241216_\345\256\236\344\275\223\346\250\241\345\236\213\347\224\237\346\210\220\346\225\260\346\215\256\345\272\223.md" "b/\347\250\213\346\242\246/20241216_\345\256\236\344\275\223\346\250\241\345\236\213\347\224\237\346\210\220\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..910b6a782fd8501d73c23e4ff9cd9893bb5feeca --- /dev/null +++ "b/\347\250\213\346\242\246/20241216_\345\256\236\344\275\223\346\250\241\345\236\213\347\224\237\346\210\220\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,11 @@ +# 实体模型生成数据库 +1. 安装数据库驱动包`dotnet add package Microsoft.EntityFrameworkCore.Sqlserver` +2. 创建数据库模型`xxxDbContext`所继承的类`DbContext` +3. 创建数据库上下文 +4. 配置数据库连接 +5. 执行数据库操作 +6. 数据迁移 + - 需要一个Design的依赖包;安装命令是:`dotnet add package Microsoft.EntityFrameworkCore.Design` + - 需要一个工具包;这个工具是dotnet-ef;全局安装命令是:`dotnet tool install --global dotnet-ef` + - 数据迁移命令:`dotnet ef migrations add InitCreate` + - 同步迁移文件更新到数据库:`dotnet ef database update` \ No newline at end of file diff --git "a/\347\250\213\346\242\246/20241218_\346\220\255\345\273\272\344\270\200\344\270\252\345\255\246\347\224\237\344\277\241\346\201\257\350\241\250\351\241\271\347\233\256&\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/\347\250\213\346\242\246/20241218_\346\220\255\345\273\272\344\270\200\344\270\252\345\255\246\347\224\237\344\277\241\346\201\257\350\241\250\351\241\271\347\233\256&\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..3b135d9c4bc53fec220cf2c14440e1061f7e0b44 --- /dev/null +++ "b/\347\250\213\346\242\246/20241218_\346\220\255\345\273\272\344\270\200\344\270\252\345\255\246\347\224\237\344\277\241\346\201\257\350\241\250\351\241\271\347\233\256&\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,77 @@ +# 总结步骤 +1. 搭建一个MVC项目(-o 命名)`dotnet new mvc -o StudentManger` +2. 在Properties里改端口`5000` +3. 在Views里的_ViewStart.cshtml改`Layout=null` +## 在Models里 +1. 按所需的数据表(Student.cs)定义类型 +```js +namespace StudentManger.Models; +public class Student +{ + public int Id { get; set; } + public string SName { get; set; } = null!; + public int Age { get; set; } + public decimal SHight { get; set; } + public string SHobby { get; set; } = null!; +} +``` +2. 在而建一个存储每个表的数据库(StudentDbContext.cs) +```js +using Microsoft.EntityFrameworkCore; +namespace StudentManger.Models; +public class StudentDbContext : DbContext +{ + public DbSet Students { get; set; } = null!; +} +``` +3. 在此之前得安装所继承的DbContext +```js +//如何安装??? + +- 在该项目之下;安装数据库驱动包;命令是: +dotnet add package Microsoft.EntityFrameworkCore.Sqlserver +``` +4. 在StudentDbContext.cs里写配置代码 +```js + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + //这里调用DbContext类型中的原始OnConfiguring方法:以初始化一些原始配置 + base.OnConfiguring(optionsBuilder); + var conString = $"server=.\\SQLEXPRESS;database=StudentDb;uid=sa;pwd=123456;TrustServerCertificate=true;"; + optionsBuilder.UseSqlServer(conString); + } +``` +5. 生成迁移文件 +```js +//如何数据迁移??? +-命令是:dotnet ef migrations add 文件名 + * 前提条件: + 1. 需要一个Design的依赖包;安装命令是: + dotnet add package Microsoft.EntityFrameworkCore.Design + 2. 需要一个工具包;这个工具是dotnet-ef;全局安装命令是:dotnet tool install --global dotnet-ef + 3. 程序不能有编译错误;可以使用(dotnet build)命令来排查编译错误 + 4. 程序不能处于运行状态 +- 快捷键`Win+R`打开cmd输入命令`services.msc`选择`SQL Server(SQLEXPRESS)`点击运行数据库===>最后在同步迁移文件到数据库 +(将上一步生成的迁移文件同步到数据库;命令是:dotnet ef database update) +``` +## 在控制器里 +1. 几个表建几个控制器 +2. 在其中一个Course.cshtml控制器中,先定义数据库上下文字段 +```js + private readonly StudentDbContext _db; + public StudentController() + { + _db=new StudentDbContext(); + } +``` +3. 在控制器中定义返回列表方法 +```js + +``` +5. 在而控制器中建增删改的返回类型方法(改;删根据Id) +## 在Views里 +1. 根据控制器连接视图 +```js + +``` + diff --git "a/\347\250\213\346\242\246/20241220_\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" "b/\347\250\213\346\242\246/20241220_\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" new file mode 100644 index 0000000000000000000000000000000000000000..7b0d30dbb7c51025f23378b9ce50085d718fa990 --- /dev/null +++ "b/\347\250\213\346\242\246/20241220_\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" @@ -0,0 +1,27 @@ +# 新增 +```js +//在新增的视图里制一个新增网页后在控制器中post请求 +
+
+``` +# 删除 +```js +//在删除的视图里制一个删除网页后在控制器中请求 +删除 +``` +# 修改 +```js +//在修改的视图里制一个修改网页后在控制器中post请求 +@model Blog.Models.Blogs; +
+
+
+``` +# 查找 +```js +//在列表的视图里制一个查找页面后在控制器中get请求 +
+ + +
+``` \ No newline at end of file