LINQ去重
最近新接触了.Net MVC类的项目,该项目主要使用的是C#语言,而我之前学习的是Java。因此在做项目的过程中开始学习.Net和EF框架等知识。
因为对于.Net技术的不熟悉,因此在项目中遇到了一个难题,耽误了两三天的时间(感觉这种问题问同事有点丢人😂)。关于这个问题我在网上搜索的关键字有:
LinQ去重、EF框架去重、IQueryable<IGrouping<TKey, TSource>> 类型转换为IQueryable类型、IGrouping类型转换为IQueryable类型
结果:
using (var ctx = new SchoolDBEntities())
{
var ur = from s in ctx.Student
select s;
ur = ur.GroupBy(m => m.name).Select(m => m.FirstOrDefault());
// 这样返回的ur便可以在达到过滤重复数据(以name属性来判断数据是否重复)的同时以IQueryable<Student>的类型返回
}
LINQ分组后组内排序
ur = ur.GroupBy(m => m.name).Select(m => m.m.OrderByDescending(x => x.age)FirstOrDefault());
关于学习的教程
ASP.NET MVC学习教程(官方文档很清楚):https://docs.microsoft.com/zh-cn/aspnet/mvc/overview/getting-started/
EF框架学习(非官方文档,但很详细):https://www.entityframeworktutorial.net/
LINQ学习(非官方文档,但很详细):https://www.tutorialsteacher.com/linq/linq-tutorials