| There are three problems than an ORM should solve to some degree: 1. Type safety/refactorability 2. Composability (can I reuse my queries) 3. Expressivity (can I generate the queries I want) Of these, EF only solves the first, which is far and away the easiest of the three. Composability in EF is possible via expression tree splicing, however it requires such a degree of discipline and insight that I have never seen anyone do it, or even any discussion around it. Like almost everything in the .NET ecosystem, EF makes a bunch of promises that are fantastic for hello world, but are disastrous as your project grows. |