Jul 09, 2014 04:53 AM|jammycakes|LINK
"All the way through to your view" is a straw man -- I'm not suggesting that, though I could see times when you may want to access your transaction manager in your controllers. You're also locking yourself out of a lot more than just lazy loading in terms
of ORM -- as I said above, you're making a rod for your back if you ever need to implement cross-cutting concerns when saving or updating entities, or caching, or iterating through a very large data set that doesn't all fit in memory. There are also a whole
raft of other problems, some of them quite subtle, that you're likely to come across too. Oren Eini, aka Ayende Rahien goes into this in more detail in his post, "The
false myth of encapsulating data access in the DAL."
The point I'm making is that true separation of concerns here is nowhere near as straightforward as you think. You're dealing with a complex set of abstractions, and since
all abstractions are leaky, you're just stacking up problems for yourself.