Найти в Дзене

Перенос базы данных из Ms Access в SQLite

Для переноса таблиц из Access в C#-модели для ORM (например, sqlite-net-pcl) нужно следовать правилу: одна таблица = один класс, один столбец = одно свойство. Вот как это выглядит на практике: Пример преобразования Допустим, в Access у вас есть таблица Books со столбцами: В .NET MAUI ваш класс будет выглядеть так: using SQLite;
public class Book
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [MaxLength(250), Indexed] // Ограничение длины и создание индекса для поиска
    public string Title { get; set; }
    public double Price { get; set; }
} При переносе из Access используйте эту шпаргалку: Быстрое создание базы в коде После того как вы написали классы-модели, создание базы данных в MAUI занимает пару строк: // 1. Путь к файлу в системной папке приложения
string dbPath = Path.Combine(FileSystem.AppDataDirectory, "MyAccessData.db3");
// 2. Подключение
var db = new SQLiteAsyncConnection(dbPath);
// 3. Автоматическое создание таблиц на основе классов
await db.C
Оглавление

Для переноса таблиц из Access в C#-модели для ORM (например, sqlite-net-pcl) нужно следовать правилу: одна таблица = один классодин столбец = одно свойство. Вот как это выглядит на практике:

Пример преобразования

Допустим, в Access у вас есть таблица Books со столбцами:

  • ID(Счетчик, Ключ)
  • Title(Короткий текст)
  • Price(Числовой)

В .NET MAUI ваш класс будет выглядеть так:

using SQLite;

public class Book
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [MaxLength(250), Indexed] // Ограничение длины и создание индекса для поиска
    public string Title { get; set; }
    public double Price { get; set; }
}

Типы данных (Сопоставление)

При переносе из Access используйте эту шпаргалку:

-2

Быстрое создание базы в коде

После того как вы написали классы-модели, создание базы данных в MAUI занимает пару строк:

// 1. Путь к файлу в системной папке приложения
string dbPath = Path.Combine(FileSystem.AppDataDirectory, "MyAccessData.db3");

// 2. Подключение
var db = new SQLiteAsyncConnection(dbPath);

// 3. Автоматическое создание таблиц на основе классов
await db.CreateTableAsync<Book>();
await db.CreateTableAsync<Author>(); // если есть еще таблицы

Лайфхак для ленивых

Если в вашей базе Access десятки таблиц, не пишите классы вручную:

  1. Экспортируйте схему Access в SQL-файл.
  2. Используйте онлайн-сервисы (например, "sql to c# class converter") или расширения Visual Studio, чтобы мгновенно сгенерировать код классов.

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