1 using System; 2 using System.Linq;// 3 using System.Collections.Generic; 4 5 6 namespace ConsoleLinq 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 /* 13 14 这是一个根据类,去查询数据,获取数据的程序。只是您工作中,用到的是根据数据库生成的上下文类。 15 类有所不同。 16 17 */ 18 19 //定义了一个匿名类型的 动物类。 20 var animals = new[] 21 { 22 new{Name="Dog",Age=3,Type1="Home"}, 23 new{Name="Cat",Age=1,Type1="Home"}, 24 new{Name="Wolf",Age=2,Type1="Wild"}, 25 new{Name="Monkey",Age=5,Type1="Wild"}, 26 27 }; 28 29 var result = 30 from a in animals 31 where a.Type1 == "Home" //查询返回wild类型。选择类型的程序实现。 32 orderby a.Age descending 33 select $"{a.Name},Age {a.Age}"; 34 35 foreach(var item in result) 36 { 37 Console.WriteLine(item); 38 } 39 40 41 42 43 44 45 46 47 48 49 50 ////Console.WriteLine("Hello World!"); 51 ////通过linq查询得到,前面的3个数字。程序。 52 //int[] numbers = new int[] {1,34,67,92,100,23,87 }; 53 54 ////IEnumerable<int> result = 这个语法麻烦,用var的 55 ////var 编译的时候会自动识别类型 . 这个是根据条件查询。 打印输出大于50的数字。 56 //var result = 57 // from a in numbers// 数据源 58 // where a > 50 // 条件 59 // //下面这行代码是加入排序 60 // orderby a ascending // 排序 61 // select a; // 返回 62 //foreach (var item in result) 63 //{ 64 // Console.WriteLine($"{item}"); 65 66 67 //} 68 69 //IEnumerable<int> result = numbers.Take(5);// 70 //foreach(var item in result)// 用foreach 循环 遍历 71 //{ 72 // Console.WriteLine(item.ToString()); //打印一下 73 //} 74 75 76 } 77 } 78 }
效果
工作中代码
重点看的代码,是这个获取对象的代码。 获取对象,获取类型。 这个是基于数据库中的数据,为基础。进行的查询,进行的linq查询。
1 首先是定义一个方法。 然后是方法里面的linq语句,使用到,linq语法的用到。所以您的问题的难点在 linq语法, 去操作数据库时,用到的语法格式。 如果不会,只能按照之前的代码格式去写的!
实际上这个获取对象的所谓接口方法,就是linq查询的实际用到了。 也可以说,这个接口方法中包含了linq查询在里面。 linq查询是在接口方法中的一个语句。 linq语法,在接口方法的中的使用方法不明白,导致的写不出来事情的发生。
1 //获取对象 2 public IActionResult GetModel_Video(int id) 3 { 4 VideoOperate _video = new VideoOperate(); 5 var model = _video.GetModel(id); 6 return Json(model); 7 }
包括之前的代码,可以再重新看看。其中用到的linq查询
1 //获取分类 2 public IActionResult GetCate_Video() 3 { 4 var list = Enums.GetList<Enums.VideoType>(). 5 Select(q => new 6 { 7 id = q.Key, 8 name = q.Value.Replace("_"," ") 9 } 10 ); 11 return Json(list); 12 } 13 //获取列表 14 public IActionResult GetList_Video(PageInfo info, string key, int? cateID) 15 { 16 VideoOperate _video = new VideoOperate(); 17 var list = _video.GetPage(info, key, cateID); 18 List<object> result = new List<object>(); 19 list.ForEach(q => result.Add(new 20 { 21 q.ID, 22 q.Title, 23 q.CateName, 24 q.ViewCount, 25 q.CreateTime, 26 url = UrlSite.GetVideoDetail(q.ID) 27 })); 28 return JsonList(result, info); 29 }