Programavimas

Kaip naudoti Dapper ORM C #

Objekto reliaciniai kartotuvai (ORM) buvo naudojami ilgą laiką, siekiant pašalinti impedansų neatitikimą, kuris egzistuoja tarp programavimo kalbų objektų modelių ir reliacinių duomenų bazių duomenų modelių. „Dapper“ yra atviro kodo, lengvas ORM, kurį sukūrė „Stack Overflow“ komanda. Dapper yra labai greitas, palyginti su kitais ORM, visų pirma dėl savo nedidelio svorio.

„Dapper“ buvo sukurtas atsižvelgiant į našumą ir paprastą naudojimą. Tai palaiko statinį ir dinaminį objektų susiejimą, naudojant operacijas, saugomas procedūras ar masinius duomenų įterpimus.

Įdiekite „Dapper ORM“ „Visual Studio“

Norėdami pradėti naudoti „Dapper“, atlikite šiuos veiksmus:

  1. Atidarykite „Visual Studio“
  2. Spustelėkite Failas -> Naujas -> Projektas
  3. Dialogo lange „Naujas projektas“ pasirinkite „Žiniatinklis -> ASP.Net žiniatinklio programa“
  4. Nurodykite žiniatinklio projekto pavadinimą
  5. Pasirinkite tuščią ASP.Net projekto šabloną
  6. Spustelėkite Gerai, kad išsaugotumėte projektą

Tai sukuria tuščią ASP.Net žiniatinklio programos projektą.

Jei turite įdiegtą „NuGet“, galite įdiegti „Dapper“ naudodami „NuGet“ - tiesiog pasirinkite projektą „Solution Explorer“ lange, dešiniuoju pelės mygtuku spustelėkite „Manage NuGet Packages ...“ ir raskite „Dapper“. Tada spustelėkite Diegti, kad pradėtumėte diegti „Dapper“. Kai „Dapper“ bus sėkmingai įdiegtas, galėsite eiti.

NEMOKAMAI .Net naudojant Dapper ORM

Dabar parašykime kodą naudodami „Dapper“, kad atliktume CRUD operacijas duomenų bazėje. Apsvarstykite duomenų bazę pavadinimu, kurioje yra lentelė pavadinimu Autorius su šiais laukais.

  • ID
  • Pirmas vardas
  • Pavardė

Turėtumėte sukurti šios duomenų bazės lentelės esybės klasę (POCO klasę), kad būtų paprasčiau dirbant su „Dapper“. Štai subjekto klasė pavadinimu Autorius, atitinkanti lentelę Autorius duomenų bazėje.

visuomenės klasės Autorius

    {

public int Id {get; rinkinys; }

public string FirstName {get; rinkinys; }

vieša eilutė Pavardė {get; rinkinys; }

    }

Užklausa () „Dapper“ plėtinio metodas leidžia gauti duomenis iš duomenų bazės ir užpildyti duomenis objekto modelyje. Šis metodas nuskaito visus įrašus iš lentelės Autorius, išsaugo juos atmintyje ir grąžina kolekciją.

public List ReadAll () sąrašas

{

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

         {

grąžinti db.Užklausa

(„Pasirinkite * iš autoriaus“). ToList ();

        }

    }

Atminkite, kad turėtumėte įtraukti „Dapper“ vardų sritį į savo programą, kad pasinaudotumėte „Dapper“ sistema.

Šis metodas parodo, kaip galite ieškoti tam tikro įrašo lentelėje Autorius.

viešasis autoriaus radimas (int id)

    {

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

        {

grąžinti db.Query („Pasirinkite * iš autoriaus“ +

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

        }

    }

Vykdyti () Dapper sistemos metodas gali būti naudojamas norint įterpti, atnaujinti ar ištrinti duomenis į duomenų bazę. Šis metodas pateikia sveikojo skaičiaus vertę, nurodančią eilučių, kurioms buvo atlikta užklausa, skaičių.

Šis metodas parodo, kaip galite atnaujinti įrašą naudodami „Dapper“ sistemą.

public int Update (Autoriaus autorius)

    {

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

        {

eilutė sqlQuery +

„Pavardė = @Pavardė“ + „WHERE Id = @Id“;

int rowsAffected = db.Vykdyti (sqlQuery, autorius);

grįžti eilutėsPaveikė;

        }

    }

Kaip matote aukščiau pateiktame kodo fragmente, Atnaujinti () metodas grąžina paveiktų eilučių skaičių, ty atnaujintų įrašų skaičių. Šiame pavyzdyje buvo atnaujintas tik vienas įrašas, taigi metodas būtų sėkmingas.

Saugomos procedūros naudojant Dapper ORM

Norėdami dirbti su saugomomis procedūromis naudodami „Dapper“, turite aiškiai paminėti komandos tipą, kai skambinate Užklausa arba Vykdyti metodai. Čia yra pavyzdys, parodantis, kaip galite naudoti saugomas procedūras su „Dapper“.

 viešas skaitytas sąrašas ()

    {

naudojant (IDbConnection db = naujas SqlConnection („ConfigurationManager.ConnectionStrings“[„AdventureWorks“]. „ConnectionString“)

        {

eilutė readSp;

grąžinti db.Query (readSp,commandType: CommandType.StoredProcedure) .ToList ();

        }

    }

„Dapper“ sistema taip pat palaiko operacijas, t. Y. Prireikus galite naudoti operacijų operacijas. Norėdami tai padaryti, galite pasinaudoti Pradėti operaciją () ir „EndTransaction“ () metodus, kuriuos paprastai darote dirbdami su ADO.Net operacijomis. Tada turėsite įrašyti savo sandorio pareiškimus į Pradėti sandorį ir „EndTransaction“ metodo iškvietimai.

„Dapper micro ORM“ yra ypač lengvas ir paprastas naudoti. Tai negeneruoja jūsų SQL, bet leidžia lengvai susieti užklausų rezultatus su savo POCO (paprastais senais CLR objektais). Geriausia, kad jūs gaunate daug greitesnį vykdymą nei su „Entity Framework“ - iš tikrųjų beveik toks pat kaip ADO.Net.

Padarykite daugiau naudodami C #:

  • Kaip dirbti su „AutoMapper“ C #
  • Kada naudoti abstrakčią klasę ir sąsają C #
  • Kaip dirbti su temomis C #
  • Kaip naudoti Dapper ORM C #
  • Kaip įgyvendinti saugyklos dizaino modelį C #
  • Kaip įdiegti paprastą kaupiklį C #
  • Kaip dirbti su delegatais C #
  • Kaip dirbti su „Action“, „Func“ ir „Predicate“ delegatais C #
  • Kaip dirbti su „Log4net“ C #
  • Kaip dirbti su atspindžiu C #