Repository vs. UnitOfWork
My current point of view is that repository should contain entity-specific modification methods like Add, Delete, etc. and UnitOfWork should contain just methods that are relevant to it in general like Commit (also known as SaveChanges, SubmitChanges) and Rollback (also known as ClearChanges). But Martin Fowler in his [article][1] about UnitOfWork suggests to add all modification methods to UnitOfWork.

So which way is better now, in the world of EF and NHibernate?

**Update.**
I should note that even with my preferable approach finally all modifications through repository go into UnitOfWork which is built into EF Context or NHibernate Session. And my UnitOfWork is more like UnitOfWorkManager (which manages internal ORM UnitOfWork).

  [1]: http://martinfowler.com/eaaCatalog/unitOfWork.html
Repository vs. UnitOfWork
===

My current point of view is that repository should contain entity-specific modification methods like Add, Delete, etc. and UnitOfWork should contain just methods that are relevant to it in general like Commit (also known as SaveChanges, SubmitChanges) and Rollback (also known as ClearChanges). But Martin Fowler in his [article][1] about UnitOfWork suggests to add all modification methods to UnitOfWork.

So which way is better now, in the world of EF and NHibernate?

**Update.**
I should note that even with my preferable approach finally all modifications through repository go into UnitOfWork which is built into EF Context or NHibernate Session. And my UnitOfWork is more like UnitOfWorkManager (which manages internal ORM UnitOfWork).

  [1]: http://martinfowler.com/eaaCatalog/unitOfWork.html