public TAggregateRoot RestoreAggregate <TAggregateRoot>(IIdentity aggregateRootId) where TAggregateRoot : IAggregateRoot { var snapshot = _snapshotStore.Load(aggregateRootId.ToString()); if (snapshot != null) { return(_serializeManager.DeserializeAggregate <TAggregateRoot>(snapshot.Payload)); } return(default(TAggregateRoot)); }