Общая база данных для UWP и Android
Недавно начал изучать Xamarin и писать небольшое приложение. И возникла следующая проблема: приложение для UWP и Android использует разные базы данных. Каким образом я могу сделать общую базу для всех платформ?
public class NoteDatabase
{
readonly SQLiteAsyncConnection database;
public NoteDatabase(string dPath)
{
database = new SQLiteAsyncConnection(dPath);
database.CreateTableAsync<Note>().Wait();
}
public Task<List<Note>> GetNotesAsync()
{
return database.Table<Note>().ToListAsync();
}
public Task<Note> GetNoteAsync(int id)
{
return database.Table<Note>().Where(i => i.ID == id).FirstOrDefaultAsync();
}
public Task<int> SaveNoteAsync(Note note)
{
if (note.ID != 0)
{
return database.UpdateAsync(note);
}
else
{
return database.InsertAsync(note);
}
}
public Task<int> DeleteNoteAsync(Note note)
{
return database.DeleteAsync(note);
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Клиентские приложения как правило не работают с базами данных вообще. Они общаются с сервером, а сервер в свою очередь - с базой данных.
SQLite - однопользовательская БД для локального использования, она не может быть общей в принципе.
То есть вам нужна полноценная БД, например MSSQL или MySQL, и Web API сервер, например ASP.NET Core, который с этой базой будет работать.
Сервер должен быть доступен по сети всем, кому он нужен.