Với cửa hàng sự kiện với các lĩnh vực:Làm thế nào để lấy lại sự kiện lịch sử sau khi thay đổi cấu trúc tổ chức sự kiện miền
- AggregateId: integer
- Payload: blob
- Version: integer
nào chứa các sự kiện dựa trên:
public class OrderLineAdded
{
int Id;
short Quantity;
}
... và sau đó có sự kiện cũng nói thêm với một cấu trúc Cập nhật:
public class OrderLineAdded
{
int ProductId; // field name has changed
int Quantity; // field datatype has changed
}
Khi dữ liệu lịch sử này được lấy ra (để phân tích, vv), làm thế nào để bạn tái tạo lại tải trọng nhị phân thành dữ liệu có ý nghĩa?
Lưu ý: mã ở trên không phải là ví dụ về triển khai sự kiện/cửa hàng sự kiện tốt. Tôi chỉ muốn biết cách xử lý kịch bản này.
Bạn sẽ tăng số phiên bản cho phiên bản thứ hai và deserialise dựa trên phiên bản? –
@LukeMcGregor Vâng, tôi đã suy nghĩ theo những dòng đó. Tôi muốn biết nếu có một cách tiếp cận khác/tốt hơn? –