Задать вопрос
@vitvov

Как в sqlite-net-pcl сделать первую иницилизацию БД?

Использую c# xamarin
Я только начал разбираться с xamarin. Перешел к обучению по работе с БД https://docs.microsoft.com/ru-ru/xamarin/get-start...
Обычно, после создания БД нужно добавить свои данные в таблицу. Например, я хочу, чтоб после создания таблиц в БД, таблица пользователей заполнилась некоторым количеством людей по умолчанию.

У меня есть такой код:
public class Database
    {
        readonly SQLiteAsyncConnection _database;

        public Database(string dbPath)
        {
            _database = new SQLiteAsyncConnection(dbPath);
            _database.CreateTableAsync<Person>().Wait();
        }

        public async void Initialize()
        {
            var count = await _database.Table<Person>().CountAsync();
            if (count == 0)
            {
                _database.InsertAsync(new Person() { Name= "First", Age = 30}).Wait();
                _database.InsertAsync(new Person() { Name = "Second", Age = 20 }).Wait();
            }
        }
    }

Функция Initialize служит для того чтоб инициализировать бд.
Сейчас я просто проверяю количество записей, и если оно == 0, то инициализирую таблицу, но я знаю что это не правильно. Как минимум, представленный вариант повторно заполнит БД, если пользователь решит удалить этих людей из БД.
Есть ли более правильное решение поставленной задачи?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@yuopi
C# developer
Users.Add(new User());
(повторить n раз после инициализации БД)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы