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

我应该为每个对象/集合根对象有一个新的流/streamid吗?

那么我认为应该是ar对象的订单状态对象每个都有一个流标识符吗?

最佳答案

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);
    }
}

关于cqrs - 我应该如何在EventStore中使用streamId?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9093052/

10-11 00:58