Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Ko'proq ko'rsatish📈 Telegram kanali Библиотека шарписта | C#, F#, .NET, ASP.NET analitikasi
Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 21 857 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 6 181-o'rinni va Rossiya mintaqasida 30 756-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 21 857 obunachiga ega bo‘ldi.
19 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -46 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 13.52% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.22% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 956 marta ko‘riladi; birinchi sutkada odatda 1 578 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 9 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent .net, шарписта, навигация, await, string kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для C#-разработчика в одном канале.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 20 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Lotereya mukofotlari
10 Telegram Premium obuna bo'lishi 3 oy
Tugash sanasi
AsSplitQuery:
dbContext
.Orders
.Include(order => order.LineItems)
.ThenInclude(lineItem => lineItem.Dimensions)
.AsSplitQuery()
.First(order => order.Id == orderId);
В этом случае EF Core сгенерирует следующие SQL-запросы:
SELECT o.*
FROM Orders o
WHERE o.Id = @orderId;
SELECT li.*
FROM LineItems li
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
SELECT d.*
FROM LineItemDimensions d
JOIN LineItems li ON d.LineItemId = li.Id
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
Для каждого оператора Include у нас есть отдельный SQL-запрос. Преимущество в том, что мы не дублируем данные при извлечении из БД.
📌 Включаем разделение запросов для всех запросов:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
"CONNECTION_STRING",
o => o.UseQuerySplittingBehavior(
QuerySplittingBehavior.SplitQuery)));
Все создаваемые EF Core запросы будут разделенными. Чтобы вернуться к одному запросу, нужно вызвать метод AsSingleQuery:
dbContext
.Orders
.Include(o => o.LineItems)
.ThenInclude(li => li.Dimensions)
.AsSingleQuery()
.First(o => o.Id == orderId);
💡Важно знать
🔸Не существует гарантии согласованности для нескольких SQL-запросов. Вы можете столкнуться с проблемой, если одновременно с запросом происходит параллельное обновление.
🔸Чтобы смягчить это, вы можете обернуть запросы внутри транзакции, но это приведет только к проблемам с производительностью в других местах.
🔸Каждый запрос требует сетевого обращения. Если задержки при обращении к БД высоки, это может снизить производительность.
#dotnet #aspnet #tip by Milan JovanovicНачните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS.
На вебинаре:
- рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов;
- узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований;
- изучим популярные модели CQRS и Event Sourcing.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене.
Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://clck.ru/376Nfw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.rutry-catch в middleware и возвращать ошибку HTTP-ответа.
ASP.NET Core 8 добавляет новую абстракцию IExceptionHandler для управления исключениями. Этот интерфейс имеет только один метод TryHandleAsync, который пытается обработать указанное исключение в рамках ASP.NET Core pipeline. Если исключение можно обработать, метод должен возвращать true, если нет — false. Это позволяет реализовывать кастомную логику обработки исключений для различных сценариев.
⚙️Для добавления реализации IExceptionHandler в пайплайн запросов ASP.NET Core необходимо сделать две вещи:
1. Зарегистрировать сервис IExceptionHandler с помощью DI.
2. Зарегистрировать ExceptionHandlerMiddleware в пайплайне запросов.
builder.Services.AddExceptionHandler<GlobalExceptionHandler>();
builder.Services.AddProblemDetails();
app.UseExceptionHandler();
Можно добавить несколько реализаций IExceptionHandler, и они будут вызываться в порядке регистрации. Это может быть полезно, например, при использовании исключений для управления потоком.
#dotnet #aspnet #tip by Milan Jovanovic
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
