public DeleteValidation <TOut> Cast <TOut>() where TOut : Entity
        {
            var output = new DeleteValidation <TOut>
            {
                Entity     = this.Entity as TOut,
                Validation = this.Validation
            };

            return(output);
        }
        public virtual DeleteValidation <T> Delete(T entity)
        {
            var output = new DeleteValidation <T>();

            if (DbSet.ContainsKey(entity.Id))
            {
                output.DeleteValidationSuccesful = false;
                output.DeleteValidationMessages.Add("No existe el ID");
            }

            if (output.DeleteValidationSuccesful)
            {
                DbSet.Remove(output.Entity.Id);
            }

            return(output);
        }