I've read an awful lot about unit-of-work and sessions and so on, and
watched Ayende's excellent webcast about App Architecture, but I'm
still getting confused. There seem to be conflicting pieces of advice.
For instance it is said (paraphrasing here):

* NHibernate allows you to design your business entities & services so
that they have no knowledge of NHibernate or sessions; in other words,
they are not coupled at all with the way in which the data is
persisted.

That sounds just wonderful, but then I read:

* DO NOT open a new session for each of your repositories, or for each
of the calls within the repository. Instead use a context-based
session outside the repository. Such as the Unit Of Work e.g. the one
in Rhino Commons.

And that sounds perfectly fine too, because hey, ideally I'd like to
work on my objects without opening new sessions all the time, and give
the ability to do transactions across different repositories, and so
on.

But hang on, doesn't that mean that we're putting the Unit Of Work
classes up in the business entities and services? And doesn't that
mean that we're coupling the business layer to the persistence layer
in the end? In particular aren't we coupling the business layer to
NHibernate (since it seems everywhere we talk about Unit Of Work, we
really mean an NHibernate session wrapper)? Or do we not consider the
Unit Of Work to be part of that layer, do we think of it as some kind
of business abstraction?

We all seem very strict about setting the boundaries between what the
different layers can access, but I'm unclear about where the Unit Of
Work fits into those layers - does it basically cross-cut everything?

Sincerely confused and grateful for any advice,

Gavin

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to