2011-11-17 32 views
0

我正在尋找將我的Aggregate的當前版本傳達給Read Model的正確方法。目前我看到的唯一可能性是做到以下幾點:在JO的CommonDomain中調度AR版本及其事件

public class Child : AggregateBase 
{ 
    ... 

    public void ChangeName(string firstName, string lastName) 
    { 
     RaiseEvent(new ChildNameChanged(Id, Version + 1, firstName, lastName)); 
    } 

    ... 
} 

我不喜歡它,因爲我覺得總結應該自動調度AR版本,所有的讀端事件處理程序。

有沒有其他方法可以做到這一點?

回答

2

看一看從JOliver自己這個要點:https://gist.github.com/1311195

基本上他所做的是他派出消息中附上該版本作爲頭而不是。你不想把這些東西添加到你的事件中。這些事件應該專注於業務。

+0

謝謝,那正是我一直在尋找的!順便說一句:IPublishMessages現在被稱爲IDispatchCommits。 –

+0

The Gist來自該人自己,並提及EventStore 2.x版本。這個名字在3.0中改變了,但不是Gist。 :) –