Я серьезно: положительный опыт уже имеется: ADO.NET (вместе с ADO) я пропустил. Непонравились сразу.
Я понял одну простую, но основополагающую вещь. Нельзя всегда прямо переносить свой предыдущий опыт, потому что тогда получается ситуация что вы пытаетесь использовать систему не так, как она задумывалась разработчиком. Как следствие - постоянные проблемы, приводящие к разочарованию.
Признаться честно, первый наш проект с EF был как раз примером такого подхода, когда мы пытались натянуть EF на свою идеологию (в частности реализовывали откат изменений полей, которого в EF нет). Оно хоть и работало, но всё равно в конце концов мы упёрлись в вопросы быстродействия и тогда разобрались в том, как именно майкрософт рекомендует использовать EF. В одно мгновение появились ответы на сотни вопросов. В результате оказалось что EF, который ещё вчера я ненавидел всей душой, очень быстрый, мощный и удобный для нашей задачи.