If you are spiking a greenfield app with CQRS using nhibernate or any orm will lead to a complete and utter failure.
On Wed, Mar 24, 2010 at 8:48 PM, Jason Meckley <[email protected]> wrote: > I am spiking an example of CQRS as described by Udi. I am using rhino > service bus to process commands and then fire events in the domain. > I'm using a 'To Do List' for the spike > > public void Consume(NewQuickTask message) > { > var task= > session.Get<User>(message.UserId).AddTask(message.Title); > domainEvents.Raise(new QuickTaskAdded{Task= task}); > } > > where domainEvents.Raise() will resolve all the Handles<T> from the > container and execute against each one. for example > class InsertNewQuickTaskIntoPersisentViewModel: > Handles<QuickTaskAdded> > { > public void Handle(QuickTaskAdded arg) > { > var pvm = mapper.Map<Task, ListOfItemsToDo>(arg.Task); > session.Save(pvm); > } > } > > ListOfItemsToDo uses the assigned POID. this way it has the same id as > the Task in the domain. Task uses HiLo POID. I know I can call > session.Save(new Task()); to get the id, but I'm adding the Task to > the User to avoid the explicit call to session. > > however I need the id from Task to insert new records into the PVM > (persistent view model). Is there another way to do this with HiLo? I > could probably use Guid.Comb, but I prefer numbers since they are > easier to read when logging and generating urls. I'm trying to avoid > database POID strategies for now. > > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > -- Les erreurs de grammaire et de syntaxe ont été incluses pour m'assurer de votre attention -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
