Sobes.tech
Junior

Czym jest ORM?

sobes.tech AI

Odpowiedź od AI

Mapowanie obiektowo-relacyjne (ORM) to technika, która pozwala na konwersję danych między systemami o niekompatybilnych typach, używając języka zorientowanego obiektowo. W istocie, jest to "most" między kodem zorientowanym obiektowo (np. C#) a relacyjną bazą danych (np. SQL Server).

Dostawcy ORM dla C#:

  • Entity Framework (Core)
  • NHibernate
  • Dapper

Zalety korzystania z ORM:

  • Przyspieszenie rozwoju: Skraca ilość ręcznego pisania kodu do interakcji z bazą danych (operacje CRUD).
  • Abstrakcja od SGBD: Kod staje się mniej zależny od konkretnego relacyjnego systemu zarządzania bazą danych.
  • Obiektowość: Praca z danymi odbywa się przez obiekty, co jest bardziej naturalne dla języków obiektowych.
  • Zmniejszenie błędów: ORM może pomóc zapobiec powszechnym błędom przy pracy z SQL (np. SQL Injection, niezgodność typów).

Wady:

  • Krzywa uczenia się: ORM ma swoją specyfikę i wymaga nauki.
  • Wydajność: W niektórych złożonych scenariuszach, bezpośredni SQL może być bardziej wydajny niż zapytania generowane przez ORM.
  • Nadmierna abstrakcja: Czasami abstrakcja od SGBD może utrudniać debugowanie i optymalizację zapytań.