Your Data Layer Matters!
Of course it matters. What you use for your data layer is a fundamental decision that will affect a good chunk of your application and the development workflow that your team will need to follow. This is one of those foundational elements that I don't think developers give enough thought. I've come across too many developers that seem to have a "favorite" data layer and subsequently force it into every project that they work on. I'm looking at you Entity Framework lovers!
Okay, that's unfair. It's not just the Entity Framework, and frankly it gets a bad wrap, but that's because it gets misused a lot. However, since I brought it up I'll continue to pick on it, but I could be picking on any data layer or technology in general.
The Entity Framework has some very specific use-cases that it's very good at. One of those is getting an application up and running from scratch with very little effort. Since it's so easy to get up and running at the start of development, and it works really well for small projects (i.e. most developers' proof-of-concept projects), I see a lot of developers commit to this technology without fully considering the greater implications of doing so.
The Entity Framework (or similar heavyweight ORM) can actually become quite a burden as a project grows and multiple developers are making changes to the data layer in parallel. It's great if you develop your application in horizontal slices (i.e. one developer is responsible for the entire data layer), but if you develop your application in vertical slices (i.e. one developer is responsible for a feature end-to-end) then working with a heavyweight ORM just becomes a tax on your developer's productivity. The developers either need to identify overlap and coordinate all of their changes upfront, or deal with the nightmare that is merging EDMX files after the fact.
If you're about to start a project where you have multiple developers working concurrently and each developer is responsible for a full feature (vertical slice of your application), then a heavyweight ORM is likely going to be more trouble than it's worth. I would urge you to consider a lightweight or dynamic data layer like Massive or Dapper.
I don't think anything I'm saying here is revolutionary or anything you likely haven't heard before. This is really about choosing the right tool to solve the problem at hand. I just wanted to remind you that it's not just the problem that needs to be considered; you also need to consider what the division of labor will be among your development team. Unfortunately, that means you can't blindly use your favorite technology on every project; always pick the right tool to solve the problem at hand.