Что это простыми словами

Dapper — это инструмент для разговора с базой данных. Он помогает программисту забрать из базы нужные данные и записать туда новые. Можно сделать это и вручную, но Dapper упрощает рутинную работу и делает код короче.

Аналогия: база данных — это склад с товаром. Чтобы получить товар, нужно заполнить накладную, найти его, упаковать в нужный формат. Dapper — это курьер, который берёт вашу накладную (SQL-запрос) и приносит уже упакованный результат, вместо того чтобы вы сами шли на склад и разбирались с коробками.

База данных хранит информацию в таблицах — строки и столбцы, как в Excel. Dapper превращает эти строки в удобный для программиста формат автоматически.

Официальное определение

Теперь, когда суть понятна, вот как Dapper описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме — и теперь будете понимать, что за ней стоит.

«Dapper — микро-ORM для .NET, предоставляющий простое отображение результатов SQL-запросов на объекты».

Разберём по словам. «Микро-ORM» — облегчённый инструмент для работы с базой данных (ORM расшифровывается как Object-Relational Mapper, то есть «преобразователь из таблиц в объекты»). «.NET» — это платформа Microsoft, на которой пишут на языке C#. «Отображение на объекты» означает, что Dapper превращает строки и столбцы из базы в удобные для программиста структуры данных.

Какую задачу решает

Когда приложение хочет получить данные из базы (список пользователей, заказы, товары), программист пишет запрос на языке SQL. База возвращает результат в виде таблицы. Теперь этот результат нужно «распаковать» и превратить в удобный для работы формат. Dapper делает это автоматически: вы даёте ему SQL-запрос, а он возвращает готовые данные.

Без Dapper пришлось бы писать много однообразного кода: открыть соединение с базой, выполнить запрос, пробежаться по строкам результата, каждую ячейку переложить в нужное поле. Dapper убирает эту рутину — вы просто говорите, что хотите получить, и он всё делает сам.

Побочная польза: Dapper работает быстро. Он не делает лишней работы, поэтому его часто выбирают для проектов, где важна скорость работы с данными.

К какой экосистеме относится

Dapper не привязан к конкретной базе данных — он работает с любой: SQL Server, PostgreSQL, MySQL и другими. В резюме вы можете встретить эти названия рядом с Dapper.

Чем заменяется

Ту же задачу — работу с базой данных — решает Entity Framework Core (пишут «EF Core»). Это самый популярный инструмент работы с базами в мире .NET.

Разница в подходе: Entity Framework Core более «умный» и автоматический — вы описываете структуру данных, а он сам строит запросы. Dapper даёт больше контроля: вы сами пишете SQL-запросы, а он только помогает получить результат. Dapper быстрее, Entity Framework Core удобнее для сложных проектов.

В проекте обычно используют что-то одно. Главное: переход между ними дешёвый. Разработчик, который работал с Dapper, разберётся в Entity Framework Core за считаные дни — задача та же, отличается только способ работы. Это не разные профессии и даже не разные школы.

Что не путать

Насколько это важно при отборе

Короткий ответ: обычно это НЕ повод отбраковывать кандидата.

Самая частая ошибка новичка-рекрутера — искать строго «C# + Dapper» и отсеивать сильного разработчика с Entity Framework Core. Он освоит Dapper за несколько дней, потому что задача та же. Отсеивая по конкретной библиотеке, вы теряете хороших людей и затягиваете поиск.

Правильный подход: смотрите, есть ли у кандидата опыт работы с базами данных в C#. Если есть опыт с Entity Framework Core, Dapper или другими ORM — этого достаточно. Если в вакансии жёстко написано «только Dapper», уточните у нанимающего менеджера, действительно ли это принципиально: часто оказывается, что нет.

Когда всё же стоит обратить внимание: если у кандидата вообще нигде не упомянута работа с базами данных в C#, а вакансия предполагает активную работу с данными — это повод спросить, как он получал и сохранял информацию в проектах. Или если в проекте критична производительность работы с базой (высоконагруженные системы), а у кандидата опыт только с «тяжёлыми» ORM — уточните, готов ли он работать с более быстрыми инструментами.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.