public IEnumerable <T> Read(IDataReader dataRecord) { if (OneRecordWasReadAlready) { yield return(_singleModelReader.Read(dataRecord)); } while (dataRecord.Read()) { yield return(_singleModelReader.Read(dataRecord)); } }
private static Func <IDataReader, TDataset> GetSingleEntityReader(List <PropertyInfo> properties) { var reader = new SingleModelReader <TDataset>(properties); return(x => { using (x) { if (x.Read()) { return reader.Read(x); } return default(TDataset); } }); }