Programovanie

Ako používať Dapper ORM v C #

Objektové relačné mapovače (ORM) sa používajú už dlho na elimináciu nesúladu impedancie, ktorá existuje medzi objektovými modelmi programovacích jazykov a dátovými modelmi v relačných databázach. Dapper je open source, ľahký ORM vyvinutý tímom Stack Overflow. Dapper je v porovnaní s inými ORM veľmi rýchly, hlavne kvôli jeho nízkej hmotnosti.

Dapper bol zostavený s ohľadom na výkon a jednoduché použitie. Poskytuje podporu pre statické aj dynamické viazanie objektov pomocou transakcií, uložených procedúr alebo hromadných vložení údajov.

Nainštalujte Dapper ORM do Visual Studio

Ak chcete začať používať aplikáciu Dapper, postupujte takto:

  1. Otvorte Visual Studio
  2. Kliknite na Súbor -> Nové -> Projekt
  3. V dialógovom okne „Nový projekt“ vyberte možnosť „Web -> Webová aplikácia ASP.Net“
  4. Zadajte názov webového projektu
  5. Vyberte prázdnu šablónu projektu pre ASP.Net
  6. Kliknutím na tlačidlo OK projekt uložíte

Tak sa vytvorí prázdny projekt webovej aplikácie ASP.Net.

Ak máte nainštalovaný NuGet, môžete nainštalovať Dapper pomocou NuGet - stačí zvoliť projekt v okne Prieskumník riešení, kliknúť pravým tlačidlom na „Spravovať balíčky NuGet ...“ a nájsť Dapper. Potom kliknite na Inštalovať pre spustenie inštalácie Dapper. Po úspešnej inštalácii aplikácie Dapper môžete vyraziť.

CRUD v .Net pomocou Dapper ORM

Poďme teraz napísať nejaký kód pomocou Dappera na vykonávanie operácií CRUD proti databáze. Zvážte databázu s názvom, ktorá obsahuje tabuľku s názvom Autor s nasledujúcimi poľami.

  • ID
  • Krstné meno
  • Priezvisko

Pre túto databázovú tabuľku by ste mali pre jednoduchosť pri práci s Dapperom vytvoriť triedu entít (trieda POCO). Tu je trieda entít s názvom Autor, ktorá zodpovedá tabuľke Autor v databáze.

verejná trieda Autor

    {

public int Id {get; sada; }

verejný reťazec FirstName {get; sada; }

verejný reťazec Priezvisko {get; sada; }

    }

The Dopyt() metóda rozšírenia v aplikácii Dapper umožňuje načítať údaje z databázy a vyplniť údaje v objektovom modeli. Nasledujúca metóda načíta všetky záznamy z tabuľky Autor, uloží ich do pamäte a vráti kolekciu.

verejný zoznam ReadAll ()

{

pomocou (IDbConnection db = new SqlConnection (ConfigurationManager.ConnectionStrings [“AdventureWorks”]. ConnectionString))

         {

vrátiť db.Query

(„Vybrať * od autora“). ToList ();

        }

    }

Pamätajte, že do svojho programu by ste mali zahrnúť menný priestor Dapper, aby ste využili rámec Dapper.

Nasledujúca metóda ukazuje, ako môžete vyhľadať konkrétny záznam z tabuľky Autor.

verejné hľadanie autora (int id)

    {

pomocou (IDbConnection db = new SqlConnection (ConfigurationManager.ConnectionStrings[„AdventureWorks“]. ConnectionString))

        {

návrat db.Query („Vybrať * od autora“ +

WHERE Id = @Id ”, nové {id}). SingleOrDefault ();

        }

    }

The Execute () Na vloženie, aktualizáciu alebo odstránenie údajov do databázy je možné použiť metódu rámca Dapper. Táto metóda vracia celočíselnú hodnotu, ktorá naznačuje počet riadkov, ktoré boli ovplyvnené pri vykonaní dotazu.

Nasledujúca metóda ukazuje, ako môžete aktualizovať záznam pomocou rámca Dapper.

public int Update (autor autor)

    {

pomocou (IDbConnection db = new SqlConnection (ConfigurationManager.ConnectionStrings[„AdventureWorks“]. ConnectionString))

        {

reťazec sqlQuery +

„LastName = @LastName“ + „WHERE Id = @Id“;

int linesAffected = db.Execute (sqlQuery, autor);

vrátiť riadkyAffected;

        }

    }

Ako vidíte vo vyššie uvedenom útržku kódu, Aktualizácia () metóda vráti počet riadkov, ktoré boli ovplyvnené, čo znamená počet záznamov, ktoré boli aktualizované. V tomto príklade bol aktualizovaný iba jeden záznam, a preto by metóda vrátila 1 pri úspechu.

Uložené procedúry pomocou Dapper ORM

Ak chcete pracovať s uloženými procedúrami pomocou nástroja Dapper, mali by ste pri volaní súboru explicitne spomenúť typ príkazu Dopyt alebo Vykonať metódy. Tu je príklad, ktorý ukazuje, ako môžete používať uložené procedúry v aplikácii Dapper.

 čítanie verejného zoznamu ()

    {

pomocou (IDbConnection db = nový SqlConnection (ConfigurationManager.ConnectionStrings[„AdventureWorks“]. ConnectionString))

        {

string readSp;

vrátiť db.Query (readSp,commandType: CommandType.StoredProcedure) .ToList ();

        }

    }

Rámec Dapper tiež podporuje transakcie, t. J. V prípade potreby môžete použiť transakčné operácie. Ak to chcete urobiť, môžete využiť výhody BeginTransaction () a EndTransaction () metódy, ako to zvyčajne robíte pri práci s transakciami v ADO.Net. Potom by ste museli svoje transakčné vyhlásenia napísať do súboru BeginTransaction a EndTransaction volania metód.

Dapper micro ORM je mimoriadne ľahký a ľahko použiteľný. Nevygeneruje to pre vás SQL, ale uľahčuje mapovanie výsledkov dotazov na vaše POCO (obyčajné staré objekty CLR). Najlepšie zo všetkého je, že dosiahnete oveľa vyššiu rýchlosť vykonávania ako s Entity Framework - v skutočnosti takmer rovnaká ako ADO.Net.

Robte viac s C #:

  • Ako pracovať s AutoMapperom v C #
  • Kedy použiť abstraktné rozhranie vs. rozhranie v C #
  • Ako pracovať s vláknami v C #
  • Ako používať Dapper ORM v C #
  • Ako implementovať vzor návrhu úložiska v C #
  • Ako implementovať jednoduchý záznamník v C #
  • Ako pracovať s delegátmi v C #
  • Ako pracovať s delegátmi Action, Func a Predicate v C #
  • Ako pracovať s log4net v C #
  • Ako pracovať s odrazom v C #
$config[zx-auto] not found$config[zx-overlay] not found