Описание тега dapper
Dapper - это микро-ORM, предлагающий основные услуги параметризации и материализации, но (по замыслу) не весь спектр услуг, который вы могли бы ожидать от полной ORM, такой как LINQ-to-SQL или Entity Framework. Вместо этого он фокусируется на том, чтобы сделать материализацию максимально быстрой, без накладных расходов со стороны таких вещей, как менеджеры идентификации - просто "запустите этот запрос и предоставьте мне (типизированные) данные".
Однако он сохраняет поддержку материализации нетривиальных структур данных с горизонтальной (объединенные данные в единую сетку) и вертикальной (несколько сеток) обработкой.
Вполне возможно, что это самый быстрый материализатор, доступный для.NET и доступный здесь: https://github.com/StackExchange/dapper-dot-net
Начало работы с Dapper
Dapper состоит из одного файла: SqlMapper.cs (или SqlMapperAsync.cs для.NET 4.5, если вам нравится асинхронный режим). Вы можете либо включить файл в свой проект, как есть. Или установите через nuget.
Вот видео с простым примером.
Простой пример Hello World
using Dapper;
//...
using (var connection = new SqlConnection(myConnectionString))
{
connection.Open();
var posts = connection.Query<Post>("select * from Posts");
//... do stuff with posts
}
CRUD операции
Dapper обеспечивает минимальный интерфейс между вашей базой данных и вашим приложением. Несмотря на то, что интерфейс минимален, он по-прежнему поддерживает полный набор операций с базой данных. Создание, чтение, обновление, удаление полностью поддерживаются. Используете хранимые процедуры или нет.
Смотрите также:
- Выполнение вставок и обновлений с помощью Dapper
- Вставка коллекции IEnumerable
с ошибками Dapper с выводом "класс не поддерживается Dapper". - Есть ли способ вызвать хранимую процедуру с помощью Dapper?
Мульти картограф
Dapper позволяет автоматически разбивать одну строку на несколько объектов. Это удобно, когда вам нужно объединить столы.
Смотрите также:
- Не удается заставить работать с несколькими отображениями в Dapper
- dapper -multi-mapping: плоский sql возврат к вложенным объектам
- Как эффективно выбрать совокупный объект с помощью Dapper?
Спектакль
Ключевой особенностью Dapper является производительность. По этой ссылке вы можете узнать о производительности сопоставления SELECT более 500 итераций.
Поддержка.NET Framework
Dapper лучше всего работает на.NET 4.0 или новее. Он использует динамические функции языка и дополнительные параметры. Вы также можете запустить Dapper на.NET 3.5. Нет известных портов, которые избегают генерации динамических методов. Нет известных портов для.NET 2.0.
Dapper также отлично работает в Mono.
Пакет Nuget
Dapper проще всего установить через пакет NuGet.
Install-Package Dapper
Установить
Dapper можно использовать после добавления ссылки на Dapper.dll
к проекту
Расширения
Решение Dapper включает следующие расширения:
- Dapper.Rainbow
- Dapper.Contrib
- Dapper.SqlBuilder
Сторонние расширения
Доступны некоторые расширения, разработанные сторонними разработчиками: