我最近开始学习 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);
}
}
客户端应用程序通常根本不使用数据库。它们与服务器通信,而服务器又与数据库通信。
SQLite 是本地使用的单用户数据库,原则上不能共享。
也就是说,您需要一个成熟的数据库,例如 MSSQL 或 MySQL,以及一个 Web API 服务器,例如 ASP.NET Core,它将与该数据库一起使用。
任何需要它的人都必须可以通过网络访问该服务器。