Programmēšana

Kā lietot Dapper ORM C #

Objekta relāciju kartētāji (ORM) jau ilgu laiku tiek izmantoti, lai novērstu pretestības neatbilstību, kas pastāv starp programmēšanas valodu objektu modeļiem un relāciju datu bāzēs esošajiem datu modeļiem. Dapper ir atvērtā koda, viegls ORM, ko izstrādājusi komanda Stack Overflow. Dapper ir ļoti ātrs, salīdzinot ar citiem ORM, galvenokārt tā vieglā svara dēļ.

Dapper tika uzbūvēts, domājot par veiktspēju un lietošanas ērtumu. Tas nodrošina gan statisko, gan dinamisko objektu saistīšanu, izmantojot darījumus, saglabātās procedūras vai lielapjoma datu ieliktņus.

Visual Studio instalējiet Dapper ORM

Lai sāktu lietot Dapper, rīkojieties šādi:

  1. Atveriet Visual Studio
  2. Noklikšķiniet uz File -> New -> Project
  3. Dialoglodziņā “Jauns projekts” atlasiet “Web -> ASP.Net Web Application”
  4. Norādiet tīmekļa projekta nosaukumu
  5. Atlasiet ASP.Net tukšo projekta veidni
  6. Noklikšķiniet uz Labi, lai saglabātu projektu

Tādējādi tiek izveidots tukšs tīmekļa lietojumprogrammas ASP.Net projekts.

Ja esat instalējis NuGet, varat instalēt Dapper, izmantojot NuGet - vienkārši atlasiet projektu logā Solution Explorer, ar peles labo pogu noklikšķiniet uz “Manage NuGet Packages ...” un atrodiet Dapper. Pēc tam noklikšķiniet uz Instalēt, lai sāktu Dapper instalēšanu. Kad Dapper ir veiksmīgi instalēts, varat doties.

CrUD. Net, izmantojot Dapper ORM

Tagad uzrakstīsim kodu, izmantojot Dapper, lai CRUD darbības veiktu ar datu bāzi. Apsveriet datu bāzi ar nosaukumu, kurā ir tabula ar nosaukumu Autors ar šādiem laukiem.

  • ID
  • Vārds
  • Uzvārds

Strādājot ar Dapper, vienkāršības labad šai datu bāzes tabulai ir jāizveido entītijas klase (POCO klase). Šeit ir entītiju klase ar nosaukumu Autors, kas atbilst tabulai Autors datu bāzē.

sabiedrības klase Autors

    {

public int Id {get; komplekts; }

publiskā virkne FirstName {get; komplekts; }

publiskā virkne Uzvārds {get; komplekts; }

    }

The Vaicājums () paplašinājuma metode Dapper ļauj iegūt datus no datu bāzes un aizpildīt datus objekta modelī. Šī metode izgūst visus ierakstus no tabulas Autors, saglabā tos atmiņā un atgriež kolekciju.

publiskais saraksts ReadAll ()

{

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

         {

atgriezt db.Query

(“Select * From Author”). ToList ();

        }

    }

Ņemiet vērā, ka programmā Dapper ir jāiekļauj vārdu telpa, lai izmantotu Dapper ietvaru.

Šī metode parāda, kā jūs varat meklēt konkrētu ierakstu tabulā Autors.

publiskais autora atrašana (int id)

    {

izmantojot [IDbConnection db = jauns SqlConnection (ConfigurationManager.ConnectionStrings[“AdventureWorks”]. ConnectionString))

        {

atgriezt db.Query (“Select * From Author” +

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

        }

    }

The Izpildīt() Dapper ietvara metodi var izmantot datu ievietošanai, atjaunināšanai vai dzēšanai datu bāzē. Šī metode atgriež veselu skaitli, kas norāda to rindu skaitu, kuras ir ietekmējušas vaicājuma izpilde.

Šī metode parāda, kā jūs varat atjaunināt ierakstu, izmantojot Dapper sistēmu.

public int atjauninājums (autora autors)

    {

izmantojot [IDbConnection db = jauns SqlConnection (ConfigurationManager.ConnectionStrings[“AdventureWorks”]. ConnectionString))

        {

virkne sqlQuery +

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

int rowsAffected = db. Izpildīt (sqlQuery, autors);

atgriezties rindasAttiecībā;

        }

    }

Kā redzat iepriekš minētajā koda fragmentā, Atjaunināt() metode atgriež ietekmēto rindu skaitu, kas nozīmē atjaunināto ierakstu skaitu. Šajā piemērā ir atjaunināts tikai viens ieraksts, un tādējādi metode gūs panākumus pēc 1.

Saglabātas procedūras, izmantojot Dapper ORM

Lai strādātu ar saglabātajām procedūrām, izmantojot Dapper, jums, zvanot uz, ir skaidri jānorāda komandas tips Vaicājums vai Izpildīt metodes. Šis ir piemērs, kas parāda, kā ar Dapper var izmantot saglabātās procedūras.

 publiskais saraksts Lasīt ()

    {

izmantojot (IDbConnection db = jauns SqlConnection (ConfigurationManager.ConnectionStrings[“AdventureWorks”]. ConnectionString))

        {

virkne readSp;

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

        }

    }

Dapper ietvars atbalsta arī darījumus, t.i., ja nepieciešams, varat izmantot darījumu operācijas. Lai to izdarītu, varat izmantot Sākt darījumu () un EndTransaction () metodes, kā jūs parasti darāt, strādājot ar darījumiem ADO.Net. Pēc tam jums būs jāieraksta darījumu paziņojumi Sākt darījumu un EndTransaction metodes izsaukumi.

Dapper micro ORM ir īpaši viegls un vienkārši lietojams. Tas nerada jūsu SQL jums, bet atvieglo vaicājumu rezultātu kartēšanu savos POCO (vienkāršos vecos CLR objektos). Vislabākais ir tas, ka izpildes ātrums ir daudz lielāks nekā ar Entity Framework - faktiski tāds pats kā ADO.Net.

Dariet vairāk ar C #:

  • Kā strādāt ar AutoMapper C #
  • Kad izmantot abstraktu klasi un saskarni C #
  • Kā strādāt ar diegiem C #
  • Kā lietot Dapper ORM C #
  • Kā ieviest krātuves dizaina modeli C #
  • Kā ieviest vienkāršu reģistrētāju C #
  • Kā strādāt ar delegātiem C #
  • Kā strādāt ar Action, Func un Predicate delegātiem C #
  • Kā strādāt ar log4net C #
  • Kā strādāt ar refleksiju C #
$config[zx-auto] not found$config[zx-overlay] not found