private NHEntityStatistics Get(IStatistics statistics, string entityName) { var result = new NHEntityStatistics(); try { var entityType = GetEntityType(statistics, entityName); result.EntityType = entityType; result.EntityName = entityName; switch (entityType) { case "Entity": var entityStatistics = statistics.GetEntityStatistics(entityName); result.DeleteCount = entityStatistics.DeleteCount; result.FetchCount = entityStatistics.FetchCount; result.InsertCount = entityStatistics.InsertCount; result.LoadCount = entityStatistics.LoadCount; result.OptimisticFailureCount = entityStatistics.OptimisticFailureCount; result.UpdateCount = entityStatistics.UpdateCount; result.EntityName = entityStatistics.CategoryName; break; case "Collection": var collectionStatistics = statistics.GetCollectionStatistics(entityName); result.DeleteCount = collectionStatistics.RemoveCount; result.FetchCount = collectionStatistics.FetchCount; result.LoadCount = collectionStatistics.LoadCount; result.RecreateCount = collectionStatistics.RecreateCount; result.UpdateCount = collectionStatistics.UpdateCount; result.EntityName = collectionStatistics.CategoryName; break; default: result.EntityType = "Unknown"; break; } } catch (Exception e) { _log.Error($"{_nameOfThis} - Failed to Get Statistics for {entityName}, by {_nameOfThis}: {e.Message}"); _log.Debug($"{_nameOfThis} - Failed to Get Statistics for {entityName}, by {_nameOfThis}: {e.StackTrace}"); if (!ContinueOnError) { throw; } } return(result); }