public void Delete(TModel model) { var models = (IList <TModel>)_database.Database[typeof(TModel)]; if (model != null) { var deletedModel = Search(m => m.Id == model.Id); if (models.Remove(deletedModel)) { _logger.Log(DataMessage.Delete(model)); } _database.SaveData <TModel>(); _cache.ThredSafeWorkWithCache(_cache.RemoveFromCache, model); } }