public static IEnumerable <TranslateType> ToList <TranslateType>(this DbDataReader reader, IMaterializer <TranslateType> materializer) { IEnumerable <TranslateType> res = null; if (reader.HasRows) { res = materializer.ToList(reader); } reader.NextResult(); return(res.EmptyIfNull()); }
public static IEnumerable <TranslateType> Join <BaseType, TranslateType>(this DbDataReader reader, IEnumerable <BaseType > parentList, Action <BaseType, IEnumerable <TranslateType> > joinAction, IMaterializer <TranslateType> materializer) { var res = materializer.ToList(reader); if (parentList != null) { foreach (var item in parentList) { joinAction.Invoke(item, res); } } return(res); }