diff --git "a/\347\250\213\346\242\246/20241202_\345\270\256\345\212\251\347\250\213\345\272\217(\347\274\226\350\276\221)&Linq\351\233\206\346\210\220\346\237\245\350\257\242.md" "b/\347\250\213\346\242\246/20241202_\345\270\256\345\212\251\347\250\213\345\272\217(\347\274\226\350\276\221)&Linq\351\233\206\346\210\220\346\237\245\350\257\242.md" new file mode 100644 index 0000000000000000000000000000000000000000..e103392b33fc6ddb05aeada0ebcabe2235f47881 --- /dev/null +++ "b/\347\250\213\346\242\246/20241202_\345\270\256\345\212\251\347\250\213\345\272\217(\347\274\226\350\276\221)&Linq\351\233\206\346\210\220\346\237\245\350\257\242.md" @@ -0,0 +1,171 @@ +@startmindmap +- Linq集成查询 +作用在集合上,特别是实现了IEnumerbda接口的集合上,方法参数中,一般是Lambda表达式(匿名函数) + - 查询单个元素 + * .First()函数中可以写查找第一个条件,形如(t=>t.Id==id);但是,如果没有第一个元素,或者没有符合条件第一个元素,则报错 + * .FirstOrDefault()类似上面的用法,但是在没有符合条件的时候,不报错,而是返回一个null + - 查询多个元素 + * Where()条件函数,可以查找符合一定条件的元素,返回的是一个集合 + - 重新设计返回的数据类型 + * Select()这个函数可以帮助我们处理函数返回的真正内容 +@endmindmap +## 1. 单个元素的查询:(当你需要获取集合中的第一个元素,或者在集合为空时获得一个默认值时) +`var blog=Db.Blogs.FirstOrDefault(x=>x.Id==id)`[视图显示:指定id的数据] +## 2. 多个元素查询:(需要根据条件过滤集合时) +`var list=Db.Blogs.Where(x=>x.Id==id && x.Author=="xxx")`[视图显示:id内的所包含数据] +## 3. 限定返回的字段;这里是类型;其实就是返回的属性:(当你需要创建一个新的集合,其中的元素是原始集合元素的转换或提取的结果时) +`var lists=Db.Blogs.Select(x=>new{Abc=x.Id,Xyz=x.Author})`[视图显示:显示所有包含id和author的属性值] +## Linq集成查询的一些方法 +LINQ(Language Integrated Query)提供了一组强大的方法,用于在.NET应用程序中处理数据查询和转换。以下是一些最重要的LINQ方法: +1. 查询生成方法 +这些方法用于生成查询表达式: +`Where`:根据条件筛选元素。 +`Select`:选择元素的一个子集或对元素进行转换。 +`SelectMany`:将多个序列连接成一个序列。 +`GroupBy`:根据某个键值对元素进行分组。 +2. 分析方法 +这些方法用于分析序列并返回单个值或值的集合: +`Any`:检查序列是否包含任何元素。 +`All`:检查序列的所有元素是否满足条件。 +`Count`:返回序列中的元素数量。 +`Sum`:计算数值序列的总和。 +`Average`:计算数值序列的平均值。 +`Min`:返回序列中的最小值。 +`Max`:返回序列中的最大值。 +3. 聚合方法 +这些方法用于对序列进行聚合操作: +`Aggregate`:应用一个自定义累积函数到所有元素。 +`Reduce`:使用指定的函数累积序列的元素。 +4. 元素查找方法 +这些方法用于查找序列中的特定元素: +`First`:返回序列的第一个元素。 +`FirstOrDefault`:返回序列的第一个元素,如果序列为空则返回默认值。 +`Last`:返回序列的最后一个元素。 +`LastOrDefault`:返回序列的最后一个元素,如果序列为空则返回默认值。 +`Single`:返回序列中唯一的元素。 +`SingleOrDefault`:返回序列中唯一的元素,如果序列为空或有多个元素则返回默认值。 +5. 转换方法 +这些方法用于将序列转换为不同的形式: +`ToArray`:将序列转换为数组。 +`ToList`:将序列转换为列表。 +`ToDictionary`:将序列转换为字典。 +`ToLookup`:将序列转换为查找表。 +6. 组合方法 +这些方法用于组合多个序列: +`Concat`:连接两个序列。 +`Union`:返回两个序列的并集。 +`Intersect`:返回两个序列的交集。 +`Except`:返回两个序列的差集。 +7. 排序方法 +这些方法用于对序列进行排序: +`OrderBy`:按指定键对序列进行升序排序。 +`OrderByDescending`:按指定键对序列进行降序排序。 +`ThenBy`:在排序后的结果上进行次级排序。 +`ThenByDescending`:在排序后的结果上进行次级降序排序。 +8. 分区方法 +这些方法用于将序列分割成多个部分: +`Take`:从序列中取出指定数量的元素。 +`Skip`:跳过序列中的指定数量的元素。 +`TakeWhile`:从序列中取出满足条件的元素,直到条件不再满足。 +`SkipWhile`:跳过序列中满足条件的元素,直到条件不再满足。 +9. 反转方法 +`Reverse`:反转方法用于反转序列中元素的顺序,这个方法返回一个新的集合,原集合不会被修改。 +10. 填充方法 +`Fill`:在LINQ中,并没有直接的“Fill”方法,但可以通过循环遍历集合并设置值来实现类似的功能或者可以使用List.ForEach或者Array.ForEach来实现。【Array.Fill(变量名,所填充的东西)】 +11. 排除方法 +`Where`:排除方法通常使用Where来实现,它可以根据条件过滤序列中的元素。 +12. 转换类型方法 +`OfType, Cast`: +* OfType: + - OfType 方法用于从序列中选择指定类型的元素。这个方法在处理继承关系或接口实现时特别有用。【变量名.OfType()--->过滤出int类型元素】 +* Cast: + - Cast 方法用于将整个序列中的元素转换为指定的类型。如果转换失败,将抛出异常。【变量名.Cast()--->过滤所有元素转换为string类型】 +# 帮助程序(编辑) +1. 先在控制器中的编辑返回类型-->根据传入的要编辑的id,拿到要编辑的文章-->返回id的视图 +```js +public IActionResult Edit(int id) +{ +//根据传入的要编辑的id,拿到要编辑的文章 + var blog=Db.Blogs.FirstOrDefault(x=>x.Id==id) +//返回视图 + return View(blog) +} +``` +1. 在views里的Edit.cshtml里编写新增页面-->在控制器中发出新增Post请求 +```js +@model Blog.Models.Blogs; +
+
+
+
+
+ +
+ +[HttpPost] //点击保存请求 + [ValidateAntiForgeryToken] //验证 + public IActionResult Edit(Blogs input) + { + if (ModelState.IsValid) + { + //传入最新id + var blog = Db.Blogs.FirstOrDefault(x => x.Id == input.Id); + //判断是否有对应对象 + if (blog != null) + { + blog.Title = input.Title; + blog.Content = input.Content; + blog.Author = input.Author; + } + //返回页面列表 + return RedirectToAction("Index"); + } + return View(input); + } +``` +# 专项练习-Linq集成查询和Lambda表达式 +## 1-5 +[显示效果-1]![1-5题](./MVC练习显示效果/Linq集成查询-1.png) +[显示效果-2]![1-5题](./MVC练习显示效果/Linq集成查询-2.png) +[显示效果-3]![1-5题](./MVC练习显示效果/Linq集成查询-3.png) +[显示效果-4]![1-5题](./MVC练习显示效果/Linq集成查询-4.png) +[显示效果-5]![1-5题](./MVC练习显示效果/Linq集成查询-5.png) +```js +using Blog.Models; +using Microsoft.AspNetCore.Mvc; +namespace Blog.Controllers; +public class LinqTestController : Controller +{ + public dynamic NumbersTest() + { + int[] numbers = { 1, 2, 3, 4, 5, 6 }; + //1.查询特定元素 找出数组中等于5的元素。 + var result1 = numbers.Where(number => number == 5).ToList(); + // return result1; + //2.查询特定范围的元素 找出数组中在2到8之间的元素 + var result2 = numbers.Where(number => number >= 2 && number <= 8).ToList(); + // return result2; + //3.查询并转换元素 将数组中的每个数字乘以2 + var result3 = numbers.Select(number => number * 2).ToList(); + return result3; + } + public dynamic ListTest() + { + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "王中王", Age = 22 }, + new Student {Id=3, Name = "张语嫣", Age = 23 }, + new Student {Id=4, Name = "詹宇航", Age = 35 }, + new Student {Id=5, Name = "郑雨良", Age = 26 }, + new Student {Id=8, Name = "欧文", Age = 26 }, + }; + //4.查询特定属性的对象 找出所有名字以"王"开头的学生 + var result1 = students.Where(student => student.Name.StartsWith("王")).ToList(); + // return result1; + //5.查询并排序 找出所有年龄大于20岁的学生,并按年龄降序排列--->升序OrderBy;降序--->OrderByDescending + var result2=students.Where(student=>student.Age>20).OrderByDescending(student=>student.Age); + return result2; + } +} +``` \ No newline at end of file diff --git "a/\347\250\213\346\242\246/20241204_\345\270\256\345\212\251\347\250\213\345\272\217(\345\210\240\351\231\244&\346\237\245\346\211\276).md" "b/\347\250\213\346\242\246/20241204_\345\270\256\345\212\251\347\250\213\345\272\217(\345\210\240\351\231\244&\346\237\245\346\211\276).md" new file mode 100644 index 0000000000000000000000000000000000000000..5e4e1b5881c7ec47b63c61578abeced528ecaa1a --- /dev/null +++ "b/\347\250\213\346\242\246/20241204_\345\270\256\345\212\251\347\250\213\345\272\217(\345\210\240\351\231\244&\346\237\245\346\211\276).md" @@ -0,0 +1,105 @@ +# 帮助程序(删除) +1. 先在控制器中的删除返回类型--->根据提供的id,尝试在对应的数据库中查找对应需删除的记录 +```js + public IActionResult Delete(int id) + { + var blog = Db.Blogs.FirstOrDefault(x=>x.Id==id); + if(blog!=null){ + return View(blog); + } + return View(); + } +``` +2. 在views里的Delete.cshtml里编写对应记录元素页面 +```js +@model Blog.Models.Blogs; +

你确定要删除全部内容吗

+ + + + + + + + + + + + + + + + + +
标题:@Model.Title
内容:@Model.Content
作者:@Model.Author
+ + + 取消删除 +
+``` + - 有两种方式发出删除请求 + - 发出post删除请求 +```js +//Delete.cshtml里 +@model Blog.Models.Blogs; +
+
+ +
+//控制器里发出请求 + [HttpPost] + public IActionResult Delete2(int id) + { + var blog = Db.Blogs.FirstOrDefault(x=>x.Id==id); + if(blog!=null){ + Db.Blogs.Remove(blog); + } + return RedirectToAction("Index"); + } +``` + - 发出get删除请求 +```js +//Delete.cshtml里 + +//控制器里发出请求 + public IActionResult DeleteConfirm(int id) + { + var blog = Db.Blogs.FirstOrDefault(x=>x.Id==id); + if(blog!=null){ + Db.Blogs.Remove(blog); + } + return RedirectToAction("Index"); + } +``` +# 帮助程序(查找) +1. 先在首页列表(Index.cshtml)编写好查找按钮-->利用form表单的get请求 +```js +
+ + +
+``` +2. 在Models里定义keyword类型 +```js + namespace Blog.Models; + public class SelectBlogsDto + { + public string? Keyword{get;set;} + } +``` +3. 在控制器中的Index返回类型传入所查找的keyword +```js + public IActionResult Index(string Keyword) + { + if (string.IsNullOrEmpty(Keyword)) + { + return View(Db.Blogs); + } + else + { + var list=Db.Blogs.Where(x=>x.Title.Contains(Keyword) || x.Content.Contains(Keyword) || x.Author.Contains(Keyword)).ToList(); + return View(list); + } + } +``` + diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-1.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..e6e310ae1e080c42cae6bf66aaa58f7821004a79 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-1.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-2.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..83bf60831c1af058bab6ac9f9b4ca8f8e948938b Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-2.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-3.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..7d9ca384dec7b652b5df9ddd8b280484c5694a1c Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-3.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-4.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..010a432d67db5417d98118ae3bad291f20456eed Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-4.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-5.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-5.png" new file mode 100644 index 0000000000000000000000000000000000000000..76ed411f894b51cf0db9b1a6b9f93808e10c3d4c Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/Linq\351\233\206\346\210\220\346\237\245\350\257\242-5.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/MVC\347\273\203\344\271\240-12.PNG" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/MVC\347\273\203\344\271\240-12.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..094590c8272293658a4bdf73af4d00cb5062f40f Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/MVC\347\273\203\344\271\240-12.PNG" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2721.gif" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2721.gif" new file mode 100644 index 0000000000000000000000000000000000000000..6518034708d9a4771dcce1e36659ca78bccc4917 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2721.gif" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2723.gif" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2723.gif" new file mode 100644 index 0000000000000000000000000000000000000000..0dc43562cb3f13f4d31d1169c476cbf081fa19b9 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2723.gif" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2724.gif" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2724.gif" new file mode 100644 index 0000000000000000000000000000000000000000..ad06cabee2d97a6902da9b3142661d538277732b Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2724.gif" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2725.gif" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2725.gif" new file mode 100644 index 0000000000000000000000000000000000000000..4b2166026c14742ad07920926be0e768feab291b Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2725.gif" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2726.gif" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2726.gif" new file mode 100644 index 0000000000000000000000000000000000000000..20a9013291fe7f9ebcc58e53b840613068feaf09 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\345\237\272\347\241\200\350\203\275\345\212\233-\351\232\217\346\234\2726.gif" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-4.PNG" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-4.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..3219126c019a775ea928fa6e58994214beb148ab Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-4.PNG" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-5.PNG" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-5.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..31760baa9dd81caf54b70dda4a52935890c7acf4 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-5.PNG" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-6.PNG" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-6.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..788beab30a8b09d469f475dbe2a9aa48cf0439cb Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\344\274\240\345\217\202-6.PNG" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-1.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..bda1dcc596f408cb18ac6441bf4f10537ed3c634 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-1.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-2.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..2a3f671eed3ce1108c9a4ae1656504efeda3b27b Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-2.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-3.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..59346054a4a427b50f26cbdc297265768e9fe6bc Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\216\247\345\210\266\345\231\250\350\277\224\345\233\236\345\200\274-3.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-1.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..699cb24b9e2d3bc7e84ebf0882111e97db547a99 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-1.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-2.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..5e5bcffe01b66fc48613ac65498a09d7a4f24bb4 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-2.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-3.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..b250e2c9da1572fa4b052f68eaea3f654629a0b9 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-3.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-4.png" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..72546d6eead6cae69ee694b4b6409569e2562b89 Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-4.png" differ diff --git "a/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-5.PNG" "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-5.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..b7c5040eb8631d811bfd7b9f9e8791f05d8f0f2d Binary files /dev/null and "b/\347\250\213\346\242\246/MVC\347\273\203\344\271\240\346\230\276\347\244\272\346\225\210\346\236\234/\346\270\262\346\237\223\346\225\260\346\215\256\345\210\260\350\247\206\345\233\276-5.PNG" differ