我应该如何在EventStore中使用streamId



在J Oliver的EventStore中,打开流时应该如何使用streamId?

我应该为每个对象/聚合根对象都有一个新的流/流ID吗?

那么,我的订单状态对象(我认为应该是ar对象)应该每个都有一个streamid吗?

StreamId是您的聚合根Id。您可能希望将其包含在命令中。由于它们是Guid,您可以在从客户端发送命令之前设置它们,这意味着您可以对同一AR执行操作,而不必从读取模型加载它。

以下是使用CommonDomain项目的示例:

class CreateOrder {
    public Guid OrderId;
    ... 
}
class CreateOrderHandler {
    void Handle(command) {
        var order = Order.Create(command.OrderId);
        // This is using the Id property from AggregateBase in CommonDomain
        repository.Save(order, Guid.NewGuid(), null);
    }
}

相关内容

  • 没有找到相关文章

最新更新