Sobes.tech
Junior

Co je to ORM?

sobes.tech AI

Odpověď od AI

Objektově-relační mapování (ORM) je technika, která umožňuje převod dat mezi neslučitelnými systémy pomocí objektově orientovaného jazyka. V podstatě je to "most" mezi objektově orientovaným kódem (například C#) a relační databází (například SQL Server).

Poskytovatelé ORM pro C#:

  • Entity Framework (Core)
  • NHibernate
  • Dapper

Výhody používání ORM:

  • Zrychlení vývoje: Snižuje množství ručně psaného kódu pro interakci s databází (CRUD operace).
  • Abstrakce od SGBD: Kód je méně závislý na konkrétním relačním systému správy databází.
  • Objektově orientované: Práce s daty se provádí přes objekty, což je přirozenější pro objektově orientované jazyky.
  • Snížení chyb: ORM může pomoci předejít běžným chybám při práci s SQL (například SQL Injection, nesoulad typů).

Nevýhody:

  • Křivka učení: ORM má své specifika a vyžaduje studium.
  • Výkon: V některých složitých scénářích může být přímé SQL efektivnější než dotazy generované ORM.
  • Přehnaná abstrakce: Někdy může abstrakce od databáze ztížit ladění a optimalizaci dotazů.