I like a lot the post by Rob Conery here. Be simpler. Just must quote him:
You’re Not Your Data Access.

Just do what is needed and…
Let. It. Go.
All this is so true:
Simplicity is beautiful. Simple doesn’t mean hard-coding, it doesn’t mean cutting corners or being sloppy – it means building what you’ve been asked to build, not a rocket to Saturn and most of the time it’s a skateboard to the corner store.
Not every application needs to be stitched together from Codebetter posts and Twitter rants. Focus on what’s important – the experience, not what’s under the hood. You’ll change that quite a few times no matter what you think

Cannot agree more.
We, developers, are just doing tools for people to help them. That's the point.
I see the tendency that many people change their believes in time. 2 years ago one could say "You should always retrieve data via abstract Repository". Nowadays he/she says: "It doesn't give benefits I expect, so I just explicitly use the querying abilities of my favourite OR/M".
So just stick to want you are confident with...
And, yes, just Keep It Simple Stu… :)