TGViewer
C# Short Posts 🔞 C# Short Posts 🔞 @dimasshortposts · 306 subscribers
Post #372 565
🧝‍♀️ Нужен ли еще Entity Framework в 2026 году?

Пытался недавно в очередной раз посмотреть, могу ли я перевести базу знаний на .NET 10. И – нет, все еще не могу. Потому что нужно дождаться когда выйдет совместимая версия библиотеки Pomelo которая отвечает за общение EF с MySQL. И это в очередной раз заставило меня задуматься о пользе которую я вообще получаю от EF.

➕ В теории плюсы:

1) Автоматизированное создание миграций
2) Написал класс и все – можешь работать
3) Писать запросы на LINQ удобнее, пототму что есть автокомплит и проверка компилитором.
4) И самая главная киллер-фича – я в любой момент могу переехать на новую базу данных.

Казалось бы. Но на самом деле в современном мире все эти плюсы довольно сомнительные,

➖ Потому что минусы буквально по каждому пункту:

1) Сейчас миграцию я могу написать агентом, так что на это я потрачу столько же времени сколько на ревью миграции которую сгенерит EF.
2) Мапперы из базы в модель я теперь тоже могу генерить агентами, так что плюс нивелируется
3) Может это конечно не всегда опция, но с TestContainers проще и надежнее написать на сложный запрос интеграционный тест и проверить, что он выполняется. Но вообще это нужно делать и для EF, потому что некоторые запросы в целом могут не смапиться нормально и попросить у вас переписать некоторые операторы на EF функции.
4) Ну и переезд на другую базу – звучит как крутой аргумент. Пожалуй даже единственный, который может сейчас определить нужен вам EF или нет. И в целом он даже выстреливал именно на базе знаний. Вот тут Арсений писал про это дело статью. Но в любом случае переезд базы – это крупная операция, в которой большую долю времени займет перенос данных. Предугадать, что в вашем переезде именно запросы будут бутылочным горлышком – ну это довольно сложно. Мне кажется это можно предугадать только если вы намеренно захотели это сделать.

Но даже из четвертого пункта следуют довольно 🚱 неочевидные минусы:

Если вы выбрали путь джедая и хотите иметь возможность переехать к примеру с MySQL на Postgress по клику. То попрощайтесь со встроенными функциями MySQL. Хотите заюзать INSERT ... ON DUPLICATE KEY UPDATE? Если планируете переезд, то придется отказатся от этой фичи. И EF тут не поможет. Этот запрос в любом случае придется переписывать.

Ну и далее сложности с поддержкой устройства самого EF.

1) Это довольно нетривиальный фреймворк, на его изучение вполне может уйти сравнимое время на изучение особенностей какой-то конкретной БД.
2) В какой-то момент вы поймаете себя на мысли, что пытаетесь не только разобраться, как вам написать запрос чтобы он не сломался, но и как открыть и заинжектить DBContext, чтобы ничего не потекло по памяти из-за неправильно использованного Change Tracker.
3) Разумеется вам постоянно еще нужно будет следить, чтобы не случился N+1. Не сказать, что это сложно, но блин, впопыхах можно и пропустить.
4) Ну и да, вам нужно будет ждать, когда не только нугет EF обновится, но и коннектор. Что потенциально + 1 зависимость

🅰️ Короче, все весомые плюсы, которые были до эпохи агентов у EF закончились, как мне кажется. Так что лично я бы для нового проекта эту штуку не выбрал в 2026 году. Вот такие дела.
  • 😱 2
  • 🤝 2
  • 💯 1
More from @dimasshortposts
  1. Sep 26, 2026🧵 Тредик для вопросов по докладу про MAF на дотнексте В докладе многие подробности опусти…
  2. Sep 23, 2026Даже самым хардкорным ребятам надо отдыхать, так что отдыхаем, мои чюваки 🕺 🧑‍💻dp🥁 #he…
  3. Sep 16, 2026🎯 Instrumented Tier0: профилирование кода В прошлый раз мы разобрали два уровня компиляци…
  4. Sep 15, 2026🔜 Готовлюсь к DOTNEXT 2026 В прошлом году за две недели до выступления я зачитывал свой д…
  5. Sep 9, 2026C# Short Posts 🔞 pinned «🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот к…
  6. Sep 9, 2026🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот канальчик, и пора бы описат…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →