Sobes.tech
Junior

Kas yra ORM?

sobes.tech AI

Atsakymas iš AI

Objektų-reliacinis žemėlapis (ORM) yra technika, leidžianti konvertuoti duomenis tarp nesuderinamų sistemų naudojant objektų orientuotą kalbą. Esmė ta, kad tai yra "tiltas" tarp objektų orientuoto kodo (pvz., C#) ir reliacinės duomenų bazės (pvz., SQL Server).

C# ORM teikėjai:

  • Entity Framework (Core)
  • NHibernate
  • Dapper

ORM naudojimo privalumai:

  • Vystymo spartinimas: Sumažina rankiniu būdu rašomo kodo kiekį, skirtą sąveikai su duomenų baze (CRUD operacijos).
  • Abstrakcija nuo SGBD: Kodo priklausomybė nuo konkrečios reliacinės duomenų bazės valdymo sistemos sumažėja.
  • Objektų orientuotas: Darbas su duomenimis vyksta per objektus, kas yra natūraliau objektų orientuotoms kalboms.
  • Klaidų sumažinimas: ORM gali padėti išvengti dažnų klaidų dirbant su SQL (pvz., SQL injekcija, tipų neatitikimas).

Trūkumai:

  • Mokymosi kreivė: ORM turi savo specifiką ir reikalauja mokymosi.
  • Našumas: Kai kuriais sudėtingais scenarijais tiesioginis SQL gali būti efektyvesnis nei ORM generuojami užklausimai.
  • Per didelis abstraktumas: Kartais duomenų bazės abstrakcija gali apsunkinti užklausų derinimą ir optimizavimą.