Разработка на .NET MAUI | Что такое ORM в базах данных
Leadersoft.ru

Разработка на .NET MAUI

С использованием C#, XAML, Ms Access и т.п.

В этом блоге публикуется информация о разработке приложений на .NET MAUI .NET MAUI (Multi-platform App UI) — это бесплатный кроссплатформенный фреймворк от Microsoft для создания нативных приложений с использованием C# и XAML. Простыми словами: вы пишете код один раз, и он работает сразу на Android, iOS, macOS и Windows.

Что такое ORM в базах данных

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) и чуть меньшим контролем над сложными запросами.

Источник статьи

Добавить комментарий

Loading