Dada almacén de eventos con los campos:Como recuperar acontecimientos históricos después de cambios en la estructura de dominio Evento
- AggregateId: entero
- Carga útil: blob
- versión: número entero
que contiene eventos basado en:
public class OrderLineAdded
{
int Id;
short Quantity;
}
... y luego tiene más eventos añadidos con una estructura actualizada:
public class OrderLineAdded
{
int ProductId; // field name has changed
int Quantity; // field datatype has changed
}
Cuando se recupera estos datos histórica (para el análisis, etc.), ¿cómo reconstruir la carga útil binaria en datos significativos?
Nota: El código anterior no es un ejemplo de una buena implementación de tienda de eventos/eventos. Solo quiero saber cómo se debe manejar este escenario.
molestaría que incrementar el número de versión para la segunda versión y deserialise basado en la versión? –
@LukeMcGregor Sí, estaba pensando en esa línea. Quiero saber si hay un enfoque diferente/mejor? –