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

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

            if (entity.Id == Guid.Empty)
            {
                entity.Id = Guid.NewGuid();
            }
            if (DbSet.ContainsKey(entity.Id))
            {
                output.SaveValidationSuccesful = false;
                output.SaveValidationMessages.Add("Ya existe con este GUID");
            }

            if (output.SaveValidationSuccesful)
            {
                DbSet[output.Entity.Id] = output.Entity;
            }

            return(output);
        }