/// <summary> /// The persist deleted item. /// </summary> /// <param name="entity"> /// The entity. /// </param> protected override void PersistDeletedItem(IProductVariant entity) { var productKeys = _productOptionRepository.DeleteAllProductVariantAttributes(entity).ToArray(); RemoveProductsFromRuntimeCache(productKeys); var deletes = GetDeleteClauses(); foreach (var delete in deletes) { Database.Execute(delete, new { entity.Key }); } if (!productKeys.Contains(entity.ProductKey)) { RemoveProductsFromRuntimeCache(new[] { entity.ProductKey }); } }