我有一个普通的通用应用程序,没有什么花哨,真的很简单。Azure移动服务和通用应用程序SQLite同步
有一个SQLite数据库的权重超过200KB(甚至可能是20MB,请牢记),我想在Windows 8.1和Windows Phone 8.1设备之间共享此数据库。
我想漫游数据还不够,对不对?
因此,我搜索了一下,发现Azure移动服务,它真的很好,但提供的例子太简单了,我不知道如何扩展它。
我的数据库有7个表,其中一些是通过外键连接的。这里是我的一个例子(数据库是基于它的)。
public class Meeting : INotifyPropertyChanged
{
public Meeting() { }
private int _id;
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
private int _adressId;
public int AdressId { get; set; }
private Adress _adress;
[Ignore]
public Adress Adress { get; set; }
}
然后是方法
private async Task InitLocalStoreAsync()
{
if (!App.MobileService.SyncContext.IsInitialized)
{
var store = new MobileServiceSQLiteStore("MyDatabase.db");
store.DefineTable<Adress>();
store.DefineTable<Contractor>();
store.DefineTable<Item>();
store.DefineTable<ItemGroup>();
store.DefineTable<Meeting>();
store.DefineTable<Note>();
store.DefineTable<Order>();
await App.MobileService.SyncContext.InitializeAsync(store);
}
}
,我得到异常 “从 'Projekt.DataModel.Meeting' ADRESS'错误中获得价值。”
事情是:真的很难与此合作。没有简单的解决方案吗?我现在不需要,只有我的数据库同步。请记住,我有一个通过外键连接的表。也许我跳过一些有价值的例子或教程?
感谢您的帮助。