.Where(x => x.Age > 18)
是 LINQ 查询中的标准方法,用于根据指定的条件筛选数据。无论条件是否满足,.Where 方法都会添加筛选条件。
一般在项目中可以添加自定义方法WhereIf
可以用于根据一个布尔条件有条件地添加筛选条件。只有在布尔条件为 true
时,才会添加筛选条件。
例子如下:
public static class IQueryableExtensions
{
public static IQueryable<T> WhereIf<T>(this IQueryable<T> source, bool condition, Expression<Func<T, bool>> predicate)
{
return condition ? source.Where(predicate) : source;
}
}
.OrderBy 将根据 Age
字段进行升序排序。
.OrderByDescending(x => x.Age) 将根据 Age
字段进行降序排序。
.ToList()
是 LINQ 查询中的一个方法,用于将查询结果从延迟执行的 IQueryable<T>
或 IEnumerable<T>
转换为立即执行的 List<T>
。
附带IQueryable<T>
或 IEnumerable<T>
解释
.ToList()
方法用于将延迟执行的查询结果转换为立即执行的 List<T>
。它的作用是立即执行查询,并将结果加载到内存中,以便可以对结果进行进一步的操作。
.Distinct()是 LINQ 中的一个标准方法,用于从序列中移除重复的元素,只保留唯一的元素。它可以用于 IEnumerable<T>
和 IQueryable<T>
类型的序列。 一般用于查询用户的个数会常用到。
.FirstOrDefaul()
作用是从一个集合中返回第一个符合条件的元素,如果没有符合条件的元素,则返回集合类型的默认值(例如 null
对于引用类型,0
对于数字类型等)。