ORM используется как сокращение для описания действий с базой данных. ORM (Object-Relational Mapping) — это «переводчик» между миром объектов в коде (C#) и миром таблиц в базе данных (SQL). Если без ORM вы пишете запросы руками, то с ORM вы просто работаете со списками и объектами, а библиотека сама генерирует нужный SQL-код «под капотом». Как это меняет работу:

Без ORM (Классический SQL)
Вы должны сами знать синтаксис SQL, следить за типами данных и вручную мапить строки из БД в свойства класса.
// Нужно писать строку запроса вручную
var sql = "INSERT INTO Users (Name, Age) VALUES ('Ivan', 25)";
// И выполнять её через специальные команды
connection.Execute(sql);
С использованием ORM (например, sqlite-net-pcl)
Вы описываете таблицу как обычный класс, а действия совершаете через методы.
// Описываем модель
public class User {
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
}
// Просто сохраняем объект
var newUser = new User { Name = "Ivan" };
await db.InsertAsync(newUser); // ORM сама создаст SQL-запрос
Главные преимущества:
- Безопасность: ORM автоматически защищает от SQL-инъекций.
- Скорость разработки: Не нужно писать сотни строк однотипного SQL-кода.
- Строгая типизация: Ошибки в названиях полей вы увидите еще при написании кода (Intellisense подскажет), а не во время работы программы.
- Миграции: ORM помогают легче изменять структуру таблиц при обновлении приложения.
В чем подвох?
За удобство вы платите небольшой потерей производительности (тратится время на генерацию SQL) и чуть меньшим контролем над сложными запросами.
Источник статьи