private void SaveRecentSimilarArtist(SimilarArtistModel artistModel) { try { using (var session = DocumentStore.OpenSession()) { IRavenQueryable <SimilarArtistModel> artists = session.Query <SimilarArtistModel>(); if (artists.Any(a => a.Name.Equals(artistModel.Name, StringComparison.InvariantCultureIgnoreCase))) { return; } int count = artists.Count(); if (count > 50) { var tooMany = count - 50; var tooManyArtists = artists.Take(tooMany); foreach (var artist in tooManyArtists) { session.Delete(artist); } } session.Store(artistModel); session.SaveChanges(); } } catch (Exception e) { Logger.Log(e.Message, Category.Exception, Priority.Medium); } }