#ef_core — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #ef_core, aggregated by home.social.
-
In-memory база врёт: 5 расхождений с продовой БД
Тест на List.AsQueryable() зелёный, а на проде всплывают LINQ-трансляция, null, collation, unique index и два воркера, забравшие один платёж. Разбираю, где in-memory тесты помогают, а где начинают врать.
https://habr.com/ru/articles/1056684/
#inmemory_database #EF_InMemory #Testcontainers #интеграционные_тесты #unitтесты #MongoDB #EF_Core #NET #C# #базы_данных
-
Как стримить данные в ASP.NET и как их принять
Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных . В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг. Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?
https://habr.com/ru/articles/1052622/
#IAsyncEnumerable #streaming #SSE #NDJSON #ASPNET_Core #EF_Core #Kestrel #производительность #net_10
-
Generic Repository<T> обещал три вещи — не сдержал ни одной и забрал доменную модель
Сколько раз вы реально меняли базу под приложением? Generic Repository – первое, что тащат в проект, и последнее, в чём сомневаются, – держат ровно ради этого. У меня за карьеру смена базы случилась дважды, и оба раза репозиторий полетел в корзину вместе со всем слоем. Это лишь первое из трёх обещаний, которое он не сдержал, а по дороге тихо забрал доменную модель. Как именно – на реальном кейсе с Mongo, и чем мы его заменили.
https://habr.com/ru/articles/1047524/
#Generic_Repository #Repository_pattern #репозиторий #антипаттерн #агрегаты #EF_Core #MongoDB #анемичная_модель #чистая_архитектура #ddd
-
Eventual Consistency: как мы починили тормоза апрува и сломали бюджет
Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.
https://habr.com/ru/articles/1042256/
#eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model
-
redb — типизированное хранилище для .NET поверх Postgres/MSSQL: без миграций, без Include, с полным LINQ
Типизированное хранилище для .NET поверх Postgres и MSSQL. C#-класс как схема — без миграций, без Include, с полным LINQ. Работает в проде. LoadAsync вместо 40 Include →
https://habr.com/ru/articles/1042058/
#LINQ #миграции #EF_Core #object_store #redb #opensource #PostgreSQL #MSSQL #NET
-
[Перевод] Самый тупой способ повышения производительности
Введение Сегодня мне немного грустно, поэтому чтобы подбодрить себя, расскажу вам историю, самой, наверно, смехотворной задачи по оптимизации, которую мне поручали. Не знаю, извлечёте ли вы из неё что-то полезное, но, по крайней мере, кого-то она развеселит…
-
EFCore.Visualizer – View Entity Framework Core query plan inside Visual Studio
https://devblogs.microsoft.com/dotnet/ef-core-visualizer-view-entity-framework-core-query-plan-inside-visual-studio/#microsoft #NET #Entity_Framework #Visual_Studio #NET_Data #EF_Core #Visual_Studio_Extension
-
Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core
Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как эффективно хранить SQL-код, предназначенный для применения к базе данных, чтобы избежать необходимости в ручном труде и перемещении файлов. В короткой статье дам пошаговую инструкцию автоматического применения миграций к базе данных и управлению представлениями и процедурами, без всяких сиай/сиди… So what if I swagger?
https://habr.com/ru/companies/croc/articles/876468/
#net_core #ef_core #entity_framework #sql_server #microsoft #entity_framework_core #migrations #database
-
[Перевод] Практический подход к EF Core с использованием скалярных функций
При разработке приложения некоторая логика может быть реализована на стороне базы данных с использованием скалярных функций. В SQL скалярная функция — это тип функции, которая работает с одним или небольшим количеством входных значений и всегда возвращает одно значение в качестве результата. Эти функции представляют собой переиспользуемые блоки кода, которые выполняют вычисления или манипуляции с данными. Вот основные характеристики скалярных функций:
-
A beginner’s guide to mapping arrays in EF Core 8
https://devblogs.microsoft.com/dotnet/array-mapping-in-ef-core-8/#microsoft #NET #Entity_Framework #Azure_SQL #EF_Core #efcore #postgresql