Unless I'm missing it, there doesn't seem to be a great way throw if CommandValidator produces an invalid report without first evaluating Validator (validating the command against the aggregate). It seems that I would need to override ApplyTo and thus have to maintain much of the same code in Command<T>. It would be great if throwOnValidationFailure was an override-able property on Command<T> instead of an optional method parameter on various internal methods. But again, I could just be missing something.
Unless I'm missing it, there doesn't seem to be a great way throw if
CommandValidatorproduces an invalid report without first evaluatingValidator(validating the command against the aggregate). It seems that I would need to overrideApplyToand thus have to maintain much of the same code inCommand<T>. It would be great ifthrowOnValidationFailurewas an override-able property onCommand<T>instead of an optional method parameter on various internal methods. But again, I could just be missing something.