internal IEnumerable<FileReleaseInfo> CreateFileReleaseInfosFromReader(IDataReader reader) { return from row in reader.ReadRows() let bundle = (row[7] != DBNull.Value) ? GetBundleInfoById(Convert.ToInt32(row[7])) : null let project = (row[8] != DBNull.Value) ? GetProjectById(Convert.ToInt32(row[8])) : null select new FileReleaseInfo(row[0].ToString(), row[1].ToString(), new Version(Convert.ToInt32(row[2]), Convert.ToInt32(row[3]), Convert.ToInt32(row[4]), Convert.ToInt32(row[5])), (byte[])row[6], bundle, project ); }