Start Debugging

Тег: linq

10 статей

Как экранировать подстановочные символы % и _ в запросах с EF.Functions.Like и StartsWith в EF Core 11
StartsWith, EndsWith и Contains в EF Core 11 уже сами экранируют % и _, а EF.Functions.Like этого не делает. Разбираем SQL, который генерирует EF, переиспользуемый помощник для экранирования и перегрузку с escapeCharacter, благодаря которой всё работает в SQL Server, SQLite и PostgreSQL.
Lookup<TKey, TElement> или Dictionary<TKey, List<TValue>> для повторяющихся ключей в C#
Используйте ToLookup, когда группировка строится один раз и дальше только читается: она неизменяема, для отсутствующего ключа возвращает пустую последовательность, принимает ключ null и сохраняет порядок первого появления. Используйте Dictionary<TKey, List<TValue>>, когда группы меняются после создания или проходят через границу JSON.
2026-08-23 ef-corelinqcsharp
Как писать переиспользуемые предикаты LINQ, которые EF Core транслирует в Where, Select и OrderBy
Вспомогательный метод, возвращающий bool, бросает "could not be translated". Expression<Func<T, bool>> не бросает. Разбираем, как компоновать, вкладывать и переиспользовать деревья выражений в EF Core 11 без LINQKit, с реальным SQL для каждого случая.
IEnumerable vs IAsyncEnumerable vs IQueryable в C#: что должен возвращать метод?
Три интерфейса последовательностей, три модели выполнения. Используйте IQueryable, когда база данных может транслировать запрос, IAsyncEnumerable, когда производитель асинхронный и вам нужна потоковая передача, IEnumerable для всего остального в памяти.