Arn*_*kas 5 c# cqrs event-sourcing
给定带有字段的事件存储:
其中包含的事件基于:
public class OrderLineAdded
{
int Id;
short Quantity;
}
Run Code Online (Sandbox Code Playgroud)
...然后添加了更新结构的其他事件:
public class OrderLineAdded
{
int ProductId; // field name has changed
int Quantity; // field datatype has changed
}
Run Code Online (Sandbox Code Playgroud)
检索此历史数据(用于分析等)时,如何将二进制有效负载重建为有意义的数据?
注意:上面的代码不是良好的事件/事件存储实现的示例.我只是想知道应如何处理这种情况.
Rinat Abdullin 在他的 CQRS bliki 中概述了一些领域事件版本控制策略,您可能会发现阅读这些策略很有用。
https://abdullin.com/post/event-source-versioning/
他提出了两种可能的方法:
public interface IUpgradeDomainEvents
{
IEnumerable<IDomainEvent> Upgrade(IDomainEvent e, string id);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
559 次 |
| 最近记录: |