C# (C Sharp) programming
18.7K subscribers
816 photos
42 videos
8 files
709 links
По всем вопросам- @haarrp

C# - обучающий канал Senior C# разработчика.

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci - C# академия

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb
Download Telegram
🖥Первая предварительная версия dotnet 9 уже здесь, наряду с обновлениями для #aspnetcore, #dotnetmaui, #efcore и других!

Почитать
больше о предварительной версии 1 и присоединяйтесь к обсуждению на GitHub Discussions: https://github.com/dotnet/core/discussions/9167

#dotnet #csharp

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🎊 Сегодня были выпущены новые версии .NET 9.0.1 и 8.0.12

https://github.com/dotnet/announcements/issues/341

#dotnet #aspnetcore #efcore #csharp

@csharp_ci
🔥 EF Core 10 принес нормальные JOIN'ы в LINQ

Больше не нужно вспоминать, как извращаться с GroupJoin + DefaultIfEmpty, чтобы сделать обычный LEFT JOIN.
Теперь есть прямые методы:

LeftJoin
RightJoin

И они делают ровно то, что ты пишешь:
«Оставь все из левой таблицы и подтяни правые записи, если есть совпадения».

Плюсы
- Читаемость выше
- Код короче и очевиднее
- Транслируется в тот же SQL, что и раньше, но без боли

Примерно так LINQ наконец становится ближе к привычному SQL-пониманию разработчика: пишешь join — получаешь join, без магии и обходных путей.

Подробнее про LeftJoin и RightJoin в EF Core 10


#dotnet #efcore #csharp #linq #backend #devtools
🧠 EF Core и Repository: когда паттерн мешает, а не помогает

👶 Junior: использует EF Core прямо в контроллере
🧑 Middle: строит BaseRepository, IUnitOfWork, IOrderRepository, IOrderDataAccess...
🧓 Senior: снова использует EF Core — без репозиториев

Почему так?

Сначала Repository Pattern кажется удобным:
4 метода на CRUD — всё аккуратно.
Но как только домен растёт, появляются проблемы:

- Репозиторий на каждую сущность
- Общая логика между сущностями? Куда её девать?
- Репозитории раздуваются до 10+ методов
- Тестируемость становится фикцией: мокаем абстракцию от абстракции

А что насчёт "мы вдруг сменим базу"?

В 99% случаев — не смените.
EF Core и так абстрагирует SQL.
А при переходе на NoSQL придётся переписывать модели, запросы и подход целиком.

А что с "это улучшает разделение ответственности"?

На деле:
- В сервисах висит куча репозиториев
- Общая логика размыта
- Больше обвязки, больше боли, меньше пользы

DbContext уже реализует Repository и Unit of Work.
И это официально указано в исходниках EF Core.

🔥 17 000+ разработчиков уже ушли от репозиториев к практичному использованию EF Core в:
- N-Layered архитектуре
- Clean Architecture
- Vertical Slice
- Specification Pattern
- Интеграционных тестах с in-memory

📖 Подробнее:
https://antondevtips.com/blog/why-you-dont-need-a-repository-in-ef-core

#dotnet #efcore #architecture #backend #repositorypattern