Eu estava pensando hoje à noite enquanto refletia sobre algum aplicativo que eu precisava mudar e isso me fez pensar. Entity Framework Entidades são POCO (Plain CLR Objects antigos) e os modelos usados no ASP.NET MVC geralmente também são POCO. Isso basicamente significa apenas propriedades, sem métodos.
Agora, a programação OO normalmente permite que um objeto encapsule sua funcionalidade, que inclui suas propriedades e métodos, permitindo que o polimorfismo aconteça. Com o aumento das classes POCO sendo usadas, padrões de design como repositórios genéricos se tornaram mais populares. Quando, no passado, meus objetos tinham suas próprias operações CRUD, agora as tenho em um repositório.
É apenas uma evolução no OO em que as operações CRUD são removidas dos objetos para permitir que sejam dissociadas ou talvez as operações CRUD não devessem estar no nível do objeto no passado e eu estava errado? diabos, talvez ambos sejam perfeitamente legítimos e sempre foram. É apenas uma observação que me fez pensar, então pensei em procurar outras opiniões.