public Stream writeEntitiesBatched <T>(IQueryOver <T> query, Func <IList <T>, IList <Feature> > action, string fileName, DbaseFileHeader header = null) { int i = 0; query.CacheMode(CacheMode.Ignore); IEnumerable <Feature> features = new List <Feature>(); IList <T> batch; do { batch = query.Skip(this.batchSize * i).Take(batchSize).List(); //batch = query.List(); features = features.Concat(action.Invoke(batch)); i++; } while (batch.Any()); if (header != null) { header.NumRecords = features.Count(); } return(shpShxSerializeService.WriteShape(features.ToList(), fileName, header)); }
public IQueryOver <TRoot> CacheMode(CacheMode cacheMode) { MainQuery.CacheMode(cacheMode); return(this); }