Как работать с несколькими таблицами sqlite-net-plc

215
28 января 2020, 17:20

Создал несколько таблиц

public TodoItemDatabase(string dbPath)
{
    database = new SQLiteAsyncConnection(dbPath);
    database.CreateTableAsync<OneTable>().Wait();
    database.CreateTableAsync<OtherTable>().Wait();
   }

Создал методы сохранения в одном файле

public Task<int> SaveItemAsync(ModelOneTable item)
{
  if (item.ID != 0)
  {
    return database.UpdateAsync(item);
  }
  else {
    return database.InsertAsync(item);
  }
}
public Task<int> SaveItemAsyncOther(OtherTable item)
{
  if (item.ID != 0)
  {
    return database.UpdateAsync(item);
  }
  else {
    return database.InsertAsync(item);
  }
}

Работает только один метод, не пойму почему. рыскал интернет в поисках реализации, нашёл это https://forums.xamarin.com/discussion/99740/database-table-sqlite-to-separate-database-to-table-declarations сейчас у меня реализовано как раз для каждой таблице из базы данных свои методы(все методы в одном файле). Еще человек на форуме рекомендовал использовать дженерики но я понял до конца как это реализовать. Да. и дженереки мне не подходят(наверно) так как для каждой таблице уникальные запросы. Можно наверно конечно и через СИшарп потом запросы писать, но мне проше составлять запросы на языке sql.

Answer 1

Так вы создаете первую таблицу, используя в качестве модели данных класс OneTable, а в методе для сохранения используете другой класс ModelOneTable. Исправьте и все должно работать, если классы корректно определены.

READ ALSO
Определить размер файла, требуемый для сохранения списка объектов

Определить размер файла, требуемый для сохранения списка объектов

Есть список объектов, который нужно сохранить в файлМогу сохранять в файлы трех типов: текстовые, бинарные и xml

244
как реализовать в xnet SSLv3-compatible ClientHello запрос

как реализовать в xnet SSLv3-compatible ClientHello запрос

как реализовать в xnet SSLv3-compatible ClientHello запрос

209
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:8888

Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:8888

Вот код, на другой машине все работало, сервер давал ответ, сейчас пишет

426