Dapper.NET учебник
Начало работы с Dapper.NET
Поиск…
замечания
Что такое Даппер?
Dapper - это микро-ORM для .Net, который расширяет ваш IDbConnection
, упрощая настройку запросов, выполнение и чтение результатов.
Как мне это получить?
- github: https://github.com/StackExchange/dapper-dot-net
- NuGet: https://www.nuget.org/packages/Dapper
Общие задачи
Версии
Версия | Заметки | Дата выхода |
---|---|---|
1.50.0 | core-clr / asp.net 5.0 против RTM | 2016-06-29 |
1.42.0 | 2015-05-06 | |
1.40.0 | 2015-04-03 | |
1.30.0 | 2014-08-14 | |
1.20.0 | 2014-05-08 | |
1.10.0 | 2012-06-27 | |
1.0.0 | 2011-04-14 |
Установите Dapper из Nuget
Любой поиск в графическом интерфейсе Visual Studio:
Инструменты> Диспетчер пакетов NuGet> Управление пакетами для решения ... (Visual Studio 2015)
Или запустите эту команду в экземпляре Nuget Power Shell, чтобы установить последнюю стабильную версию
Install-Package Dapper
Или для конкретной версии
Install-Package Dapper -Version 1.42.0
Использование Dapper в C #
using System.Data;
using System.Linq;
using Dapper;
class Program
{
static void Main()
{
using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true"))
{
db.Open();
var result = db.Query<string>("SELECT 'Hello World'").Single();
Console.WriteLine(result);
}
}
}
Завершение соединения в блоке « Using
закроет соединение
Использование Dapper в LINQPad
LINQPad отлично подходит для тестирования запросов к базе данных и включает интеграцию NuGet . Чтобы использовать Dapper в LINQPad, нажмите F4, чтобы открыть Свойства запроса, а затем выберите Добавить NuGet . Найдите сеть dapper dot net и выберите « Добавить в запрос» . Вы также захотите нажать « Добавить пространства имен» и выделить «Даппер», чтобы включить методы расширения в ваш запрос LINQPad.
После того, как Dapper включен, вы можете изменить раскрывающийся список «Язык» на « C # Program» , отобразить результаты запроса к классам C # и использовать метод .Dump () для проверки результатов:
void Main()
{
using (IDbConnection db = new SqlConnection("Server=myServer;Trusted_Connection=true")){
db.Open();
var scalar = db.Query<string>("SELECT GETDATE()").SingleOrDefault();
scalar.Dump("This is a string scalar result:");
var results = db.Query<myobject>(@"
SELECT * FROM (
VALUES (1,'one'),
(2,'two'),
(3,'three')
) AS mytable(id,name)");
results.Dump("This is a table mapped to a class:");
}
}
// Define other methods and classes here
class myobject {
public int id { get; set; }
public string name { get; set; }
}
Результаты при выполнении программы будут выглядеть так: