Отправляю классический EF на пенсию вместе с .NET Framework: в новых микросервисных проектах основной ORM принят EF Core, и возвращаться к старому EF причин не осталось.
Классический EF пока продолжает работать в проектах на .NET Framework, но сами проекты начинаем переводить на .net core в угоду мультиплатформенности. Там основной ORM станет либо EF Core, либо Dapper — присматриваемся к обоим.
На работе получаю возможность работать с ASP.NET MVC. Сначала предпочитаю организовать работу с Dapper, но быстро выясняю что TSQL сильно не всем интуитивно понятен и для сохранения легкости в сопровождении решаю использовать в задачах в связке с ASP.NET MVC EF или L2Db в зависимости от Code First или Db First.
Для ASP.NET MVC и методики работы с данными, которую предлагают для работы с ним EF оказывается более нативным подходом, чем Dapper.
Entity Framework очень модный и навороченный инструмент, а котором пишут из каждого утюга. Ключевые фичи:
- Полная поддержка подхода
Code First - Можно вообще не знать
TSQLи при этом создавать и редактировать базы. Он сам заводит миграции. - Контроль версий схем данных. Возможность откатиться
- Заливать данные целыми коллекциями
- Есть трекер изменений, что дает возможность накапливать эти самые изменения, после чего отправлять одной транзакцией.
Ну и кроме этого имеет все преимущества linq-to-sql
Инструмент мощный, но для моих текущих задач слишком навороченный.