Использование Dapper C# в программировании | Статья в сборнике международной научной конференции

Отправьте статью сегодня! Журнал выйдет 17 августа, печатный экземпляр отправим 21 августа.

Опубликовать статью в журнале

Библиографическое описание:

Отинчиев А. К., Касенова Л. Г. Использование Dapper C# в программировании [Текст] // Актуальные вопросы технических наук: материалы V Междунар. науч. конф. (г. Санкт-Петербург, февраль 2019 г.). — СПб.: Свое издательство, 2019. — С. 5-8. — URL https://moluch.ru/conf/tech/archive/324/14815/ (дата обращения: 21.10.2019).



В данной статье рассматривается проблема обработки больших данных в современных системах. Возможность использования инновационной программы для качественной, быстрой и легкодоступной системы.

Ключевые слова: sql, C#, кросс-платформенность, open source, CRUD методы.

This article presents the problems of big data processing in modern systems. The ability to use innovative programs for high-quality, fast and easily accessible system.

Keywords: sql, C#, cross-platform, open source, CRUD methods

Dapper ASP.NET CORE — инструмент созданный компание Stack Exchange, который преобразует результаты sql запросов с классами C#. У Dapper есть схожести с Entity Framework. Благодаря своему малому весу Dapper предоставляет высокую производительность и позволяет выполнять запросы быстрее, чем EF Core, а так же быстрее Entity Framework в 10 раз(Рис 1). Dapper применяется в работе сайта stackoverflow.com, на котором разработчики со всего мира могут задавать ответы по программированию и получать качественные ответы.

Рис. 1. Сравнение скоростей

Платформа ASP.NET Core технология от компании Microsoft, предназначенную для создания веб-приложений: от простых веб-сайтов до огромных веб-порталов и веб-сервисов.

ASP.NET Core представляет собой следующим этапом развития платформы ASP.NET. Но с другой стороны, это не просто очередной релиз. Появление ASP.NET Core в действительности означает революцию всей платформы, ее качественное изменение. Создание платформы началась еще в 2014 году. Первое название платформы условно называлась ASP.NET vNext. В июне 2016 года вышел первый релиз платформы. А в мае 2018 года вышла версия ASP.NET Core 2.1. ASP.NET Core теперь полностью является opensource-фреймворком.

В качестве инструментария разработки мы можем использовать последние выпуски Visual Studio, начиная с версии Visual Studio 2015. Кроме того, мы можем создавать приложения в среде Visual Studio Code, которая является кросс-платформенной и может работать как на Windows, так и на Mac OS X и Linux. Для обработки запросов теперь используется новый конвейер HTTP, который основан на компонентах Katana и спецификации OWIN. А его модульность позволяет легко добавить свои собственные компоненты. Если суммировать, то можно выделить следующие ключевые отличия ASP.NET Core от предыдущих версий ASP.NET:

Переработанный легковесный и модульный конвейер HTTP-запросов

Возможность развертывать приложение как на IIS, так и в рамках своего собственного процесса

Использование пакетов платформы через NuGet

Единый стек веб-разработки, сочетающий Web UI и Web API Конфигурация для упрощенного использования в облаке

Встроенная поддержка для внедрения зависимостей

Расширяемость

Кроссплатформенность: возможность разработки и развертывания приложений ASP.NET на Mac, Windows и Linux

Развитие как open source, открытость к изменениям

Для работы нужно подключить в Nuget Dapper (Рис 2)

Рис. 2. Nuget Dapper

Проект можно разделить по папкам для оптимальной работы (Рис 3), Content используется для хранения фотографий и файлов HTML & CSS, Controller центральный компонент в архитектуре проекта, отвечающий за вводом пользователя, обработкой данными и возврату результата, Helpers методы которые часто вызываются, для того чтобы не писать огромный код каждый раз, его можно создать как хелпер и вызывать его, данная механика убирает лишние строки кода, requests это DTO (DTO это Data Transfer Object — шаблон проектирования, использующийся для передачи информации между подсистемами приложения) которые принимают данные с FrontEnd, Domain Models модели принимаемых данных, Repositories классы которые содержат запросы к базе MsSql.

Рис. 3.

В Dapper можно использовать CRUD методы (Create, Read, Update, Delete).

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

Рассмотрим на модели User:

[Table(“Project.Department_User”)]

public class ProjectsUsers

{

public Guid Id { get; set; }

public string FirstName { get; set; }

public string LastName { get; set; }

public int Age { get; set; }

public string Grade { get; set;}

}

Примеры Read:

1) public IEnumerable< ProjectsUsers > List()

{

var sql = “SELECT * FROM Project.Department_User ”

return Connection.Query< ProjectsUsers >(sql);

}

2) public IEnumerable< ProjectsUsers > List()

{

Return Connection.GetAll< ProjectsUsers >();

}

В данном случае мы можем увидеть, что в первом примере создается переменная sql в которую мы записываем запрос в базу данных, названия таблиц может быть довольно длинными и нечитабельными

Во втором примере наглядно видно, что вызывается метод GetAll(), этот запрос записан в библиотеке Dapper, данная форма вызова оптимальна, читабельна для разработчика и требует меньше строк кода, что может сыграть на скорости выполнения задач.

Примеры Update:

1) public void Update(ProjectsUsers users)

{

var sql = @”

UPDATE Project.Department_User

SET firstName = @firstname,

lastName = @lastName,

age = @age,

grade = @grade

WHERE id = @id ”;

}

return Connection.Execute(sql);

2) public void Update(ProjectsUsers users)

{

Connection.Update(users);

}

При обновлении таблицы Project.Department_User заметно как отличаются запросы к базе данных, в первом примере мы вводим каждую строку из модели ProjectsUsers и таких моделей может быть множество, что может сказаться на быстродействии, во втором примере все просто написано в одну строку.

Dapper на данный момент один из самых удобных инструментов для работы с большими данными, прост в освоении, универсальный для API, высокопроизводительный, скоростной и легковесный ORM.

Литература:

  1. Kevin Davis, Notoriously Dapper: How to Be a Modern Gentleman with Manners, Style and Body Confidence Paperback.
  2. Ben Albahari, C# 6.0 in a Nutshell: The Definitive Reference.
  3. Maheshwari, Data Analytics Made Accessible.
  4. Simon, Too Big to Ignore: The Business Case for Big Data
Основные термины (генерируются автоматически): CRUD, API, SELECT, OWIN, ORM, IIS, HTTP, FROM, CORE, SET.

Ключевые слова

SQL, C#, кросс-платформенность, open source, CRUD методы

Похожие статьи

Оптимизация взаимодействия web-приложения с базой данных...

В данной работе проведено исследование производительности ORM-библиотек, на основании которого выбрана библиотека для работы с. Оптимизация взаимодействия web-приложения с базой данных в информационно-исследовательской системе «Шлаковые расплавы».

Слушатель события обновления сцены. Кадронезависимое...

Приводится решение кадронезависимого движения в приложениях под Android на примере классов фреймворка PeeKaBoo. Описывается создание слушателя обновления сцены, зависящего от времени, выбранного разработчиком игры.

Модификация архитектуры web-приложения, основанной на...

В работе рассматривается способ организации архитектуры web-приложения на основе паттерна CQRS. В основе архитектуры лежит разделение на write- и read- модели, которые используют SQL и NoSql базы данных. Результатом применения архитектуры стало возможность...

Исследование производительности ASP.NET-приложений

− Использование HTTP-сжатия. Это самое простое правило, так как для его соблюдения чаще всего не требуется дополнительных затрат

Причем в ASP.NET реализованы так называемые профили кэширования. Они позволяют заранее создать в файле web.config настройки...

Системы сбора информации в аспекте кибербезопасности

Легкость настройки системы. Минимальная нагрузка системы на узлы. Универсальная система, не зависящая от ОС, используемой на узлах.

– Система должна иметь возможность извлекать данные анализа для визуализации через API или иметь средство визуализации данных анализа.

Эволюция веб-фреймворков Microsoft. ASP.NET vNext (ASP.NET 5)

Данная статья рассказывает о платформе Microsoft.NET Framework и технологии создания веб-приложений и веб-сервисов от вышеупомянутой компании — ASP.NET. Описывается история развития данной технологии и последние новшества, такие как ASP.NET vNext.

Интеграция Telegram-ботов в информационных системах

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

Организация сбора технологических данных с буровой и передачи...

Автоматизация технологического процесса составляет важную часть научно-технического прогресса в проведении геологоразведочных работ. Теоретические исследования в области совершенствования управления процессом бурения и его оптимизации получили новые...

Ключевые слова научной статьи

Нет параметров.

Похожие статьи

Оптимизация взаимодействия web-приложения с базой данных...

В данной работе проведено исследование производительности ORM-библиотек, на основании которого выбрана библиотека для работы с. Оптимизация взаимодействия web-приложения с базой данных в информационно-исследовательской системе «Шлаковые расплавы».

Слушатель события обновления сцены. Кадронезависимое...

Приводится решение кадронезависимого движения в приложениях под Android на примере классов фреймворка PeeKaBoo. Описывается создание слушателя обновления сцены, зависящего от времени, выбранного разработчиком игры.

Модификация архитектуры web-приложения, основанной на...

В работе рассматривается способ организации архитектуры web-приложения на основе паттерна CQRS. В основе архитектуры лежит разделение на write- и read- модели, которые используют SQL и NoSql базы данных. Результатом применения архитектуры стало возможность...

Исследование производительности ASP.NET-приложений

− Использование HTTP-сжатия. Это самое простое правило, так как для его соблюдения чаще всего не требуется дополнительных затрат

Причем в ASP.NET реализованы так называемые профили кэширования. Они позволяют заранее создать в файле web.config настройки...

Системы сбора информации в аспекте кибербезопасности

Легкость настройки системы. Минимальная нагрузка системы на узлы. Универсальная система, не зависящая от ОС, используемой на узлах.

– Система должна иметь возможность извлекать данные анализа для визуализации через API или иметь средство визуализации данных анализа.

Эволюция веб-фреймворков Microsoft. ASP.NET vNext (ASP.NET 5)

Данная статья рассказывает о платформе Microsoft.NET Framework и технологии создания веб-приложений и веб-сервисов от вышеупомянутой компании — ASP.NET. Описывается история развития данной технологии и последние новшества, такие как ASP.NET vNext.

Интеграция Telegram-ботов в информационных системах

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

Организация сбора технологических данных с буровой и передачи...

Автоматизация технологического процесса составляет важную часть научно-технического прогресса в проведении геологоразведочных работ. Теоретические исследования в области совершенствования управления процессом бурения и его оптимизации получили новые...

Ключевые слова научной статьи

Нет параметров.