/// <summary> /// 返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。 /// </summary> /// <typeparam name="T">表实体类型</typeparam> /// <param name="queryable">查询对象</param> /// <returns>T</returns> public static T Single <T>(this Queryable <T> queryable) { if (queryable.OrderByValue.IsNullOrEmpty()) { queryable.OrderByValue = "now()"; } queryable.Skip(0); queryable.Take(1); return(queryable.ToList().Single()); }
/// <summary> /// 返回序列中的第一个元素。 /// </summary> /// <typeparam name="T">表实体类型</typeparam> /// <param name="queryable">查询对象</param> /// <returns>T</returns> public static T First <T>(this Queryable <T> queryable) { if (queryable.OrderByValue.IsNullOrEmpty()) { queryable.OrderByValue = "now()"; } queryable.Skip(0); queryable.Take(1); var reval = queryable.ToList(); return(reval.First()); }
/// <summary> /// 返回序列中的第一个元素,如果序列为NULL返回default(T) /// </summary> /// <typeparam name="T">表实体类型</typeparam> /// <param name="queryable">查询对象</param> /// <returns>T</returns> public static T FirstOrDefault <T>(this Queryable <T> queryable) { if (queryable.OrderByValue.IsNullOrEmpty()) { queryable.OrderByValue = "now()"; } queryable.Skip(0); queryable.Take(1); var reval = queryable.ToList(); if (reval == null || reval.Count == 0) { return(default(T)); } return(reval.First()); }