I'm working on implementing a basic CQRS+ES application. I've seen many examples but I don't understand the routing between the command handler and aggregate.
In some examples, the work is did in this way:
XCommandHandler:
void Handle(XCommand command) {
   var aggregate = this.repository.Find<Aggregate>(command.aggId);
   aggregate.InvokeSomeBusinessLogic(command.property1, command.property2);
   this.repository.Save(aggregate);
}
But others do in another way:
XCommandHandler:
void Handle(XCommand command) {
   var aggregate = this.repository.Find<Aggregate>(command.aggId);
   aggregate.InvokeSomeBusinessLogic(command);
   this.repository.Save(aggregate);
}
What is the best approach, especially when you have many properties (15 or more) in a command?