Ohjelmointi

Kuinka käyttää Dapper ORMia C #: ssä

Objektin relaatiokartoittajia (ORM) on käytetty pitkään poistamaan impedanssin epäsuhta, joka esiintyy ohjelmointikielien objektimallien ja relaatiotietokannoissa olevien tietomallien välillä. Dapper on avoimen lähdekoodin kevyt ORM, jonka on kehittänyt Stack Overflow -tiimi. Dapper on erittäin nopea verrattuna muihin ORM-malleihin ensisijaisesti kevyen painonsa vuoksi.

Dapper rakennettiin suorituskykyä ja helppokäyttöisyyttä ajatellen. Se tukee sekä staattista että dynaamista objektien sitomista tapahtumien, tallennettujen menettelytapojen tai joukkotiedonsiirtojen avulla.

Asenna Dapper ORM Visual Studiossa

Aloita Dapperin käyttö seuraavasti:

  1. Avaa Visual Studio
  2. Napsauta Tiedosto -> Uusi -> Projekti
  3. Valitse Uusi projekti -valintaikkunasta Verkko -> ASP.Net-verkkosovellus
  4. Määritä verkkoprojektille nimi
  5. Valitse tyhjä projektipohja mallille ASP.Net
  6. Tallenna projekti napsauttamalla OK

Tämä luo tyhjän ASP.Net-verkkosovellusprojektin.

Jos sinulla on NuGet asennettuna, voit asentaa Dapperin NuGetin avulla - valitse vain projekti Solution Explorer -ikkunasta, napsauta hiiren oikealla painikkeella "Manage NuGet Packages ..." ja etsi Dapper. Aloita sitten Dapperin asennus napsauttamalla Asenna. Kun Dapper on asennettu onnistuneesti, olet hyvä mennä.

CRUD .Netissä Dapper ORM: lla

Kirjoitetaan nyt koodi Dapperin avulla CRUD-operaatioiden suorittamiseksi tietokantaan. Tarkastellaan tietokantaa nimeltä nimeltä, joka sisältää taulukon nimeltä Kirjailija ja seuraavat kentät.

  • Henkilötunnus
  • Etunimi
  • Sukunimi

Luo tälle tietokantataulukolle yksikköluokka (POCO-luokka) yksinkertaisuuden vuoksi työskennellessäsi Dapperin kanssa. Tässä on Author-niminen kokonaisuusluokka, joka vastaa Tekijä-taulukkoa tietokannassa.

public class Kirjoittaja

    {

julkinen int Id {get; aseta; }

julkinen merkkijono Etunimi {get; aseta; }

julkinen merkkijono Sukunimi {get; aseta; }

    }

Kysely () Dapperin laajennusmenetelmän avulla voit noutaa tietoja tietokannasta ja täyttää tiedot objektimallissasi. Seuraava menetelmä hakee kaikki tietueet Kirjoittaja-taulukosta, tallentaa ne muistiin ja palauttaa kokoelman.

public List Lue kaikki ()

{

käyttämällä (IDbConnection db = uusi SqlConnection (ConfigurationManager.ConnectionStrings [“AdventureWorks”]. ConnectionString))

         {

palauta db.Query

(“Valitse * kirjoittajalta”). ToList ();

        }

    }

Huomaa, että sinun tulisi sisällyttää Dapper-nimitila ohjelmaasi, jotta voit hyödyntää Dapper-kehystä.

Seuraava menetelmä kuvaa, kuinka voit etsiä tiettyä tietuetta Kirjoittaja-taulukosta.

public Author Find (int id)

    {

käyttäen (IDbConnection db = uusi SqlConnection (ConfigurationManager.ConnectionStrings)[”AdventureWorks”]. ConnectionString))

        {

return db.Query (“Valitse * tekijästä” +

WHERE Id = @Id ", uusi {id}). SingleOrDefault ();

        }

    }

Suorittaa() Dapper-kehyksen menetelmää voidaan käyttää tietojen lisäämiseen, päivittämiseen tai poistamiseen tietokantaan. Tämä menetelmä palauttaa kokonaisluvun arvon, joka tarkoittaa niiden rivien määrää, joihin kyselyn suorittaminen on vaikuttanut.

Seuraava menetelmä kuvaa, kuinka voit päivittää tietueen Dapper-kehyksen avulla.

public int -päivitys (kirjoittaja)

    {

käyttäen (IDbConnection db = uusi SqlConnection (ConfigurationManager.ConnectionStrings)[”AdventureWorks”]. ConnectionString))

        {

merkkijono sqlQuery +

"Sukunimi = @Sukunimi" + "WHERE Id = @Id";

int rowsAffected = db.Execute (sqlQuery, tekijä);

paluu rivit

        }

    }

Kuten yllä olevasta koodinpätkästä näet, Päivittää() method palauttaa niiden rivien määrän, joihin on vaikuttanut, eli päivitettyjen tietueiden lukumäärän. Tässä esimerkissä vain yksi tietue on päivitetty, joten menetelmä palauttaisi onnistumisen jälkeen yhden.

Tallennetut menettelyt Dapper ORM: lla

Jos haluat työskennellä tallennettujen menettelyjen kanssa Dapperin avulla, sinun on mainittava komentotyyppi nimenomaisesti soitettaessa Kysely tai Suorittaa menetelmiä. Tässä on esimerkki siitä, kuinka voit käyttää tallennettuja toimintoja Dapperin kanssa.

 julkinen luettelo Lue ()

    {

käyttäen (IDbConnection db = uusi SqlConnection (ConfigurationManager.ConnectionStrings[”AdventureWorks”]. ConnectionString))

        {

merkkijono readSp;

return db.Query (readSp,commandType: CommandType.StoredProcedure) .ToList ();

        }

    }

Dapper-kehys tukee myös tapahtumia, ts. Voit käyttää transaktiotoimintoja tarvittaessa. Voit tehdä tämän käyttämällä Aloita liiketoimi () ja EndTransaction () menetelmät kuten yleensä teet työskennellessäsi ADO.Net-tapahtumien kanssa. Sitten sinun on kirjoitettava tapahtumalausekkeet Aloita liiketoimi ja EndTransaction menetelmäpuhelut.

Dapper micro ORM on erittäin kevyt ja helppo käyttää. Se ei luo SQL: ää sinulle, mutta helpottaa kyselyjen tulosten kartoittamista POCOisi (tavalliset vanhat CLR-objektit). Mikä parasta, saat nopeamman suorituksen nopeuden kuin Entity Frameworkilla - itse asiassa melkein sama kuin ADO.Net.

Tee enemmän C #: llä:

  • Kuinka työskennellä AutoMapperin kanssa C #: ssä
  • Milloin abstraktia luokkaa vs. käyttöliittymää käytetään C #: ssä
  • Kuinka työskennellä langoilla C #
  • Kuinka käyttää Dapper ORMia C #: ssä
  • Kuinka toteuttaa arkiston suunnittelumalli C #: ssä
  • Kuinka toteuttaa yksinkertainen kirjaaja C #: ssä
  • Kuinka työskennellä C #: n edustajien kanssa
  • Kuinka toimia Action-, Func- ja Predicate-edustajien kanssa C #: ssä
  • Kuinka työskennellä log4netin kanssa C #: ssä
  • Kuinka työskennellä heijastuksen kanssa C #: ssä
$config[zx-auto] not found$config[zx-overlay] not found