Azure移动服务和通用应用程序SQLite同步

Azure移动服务和通用应用程序SQLite同步,sqlite,azure-mobile-services,win-universal-app,Sqlite,Azure Mobile Services,Win Universal App,我有一个普通的通用应用程序,没什么特别的,非常简单 有一个SQLite数据库的重量超过200KB(请记住,甚至可能是20MB),我想在Windows 8.1和Windows Phone 8.1设备之间共享这个数据库 我想漫游数据是不够的,对吗 所以,我在谷歌上搜索并找到了Azure移动服务,它真的很好,但提供的示例太简单了,我不知道如何扩展它 我的数据库有7个表,其中一些表通过外键连接。下面是我的一个类的示例(数据库就是基于它的) 那就是方法 private async Task InitLoc

我有一个普通的通用应用程序,没什么特别的,非常简单

有一个SQLite数据库的重量超过200KB(请记住,甚至可能是20MB),我想在Windows 8.1和Windows Phone 8.1设备之间共享这个数据库

我想漫游数据是不够的,对吗

所以,我在谷歌上搜索并找到了Azure移动服务,它真的很好,但提供的示例太简单了,我不知道如何扩展它

我的数据库有7个表,其中一些表通过外键连接。下面是我的一个类的示例(数据库就是基于它的)

那就是方法

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);
    }
}
private异步任务InitLocalStoreAsync()
{
如果(!App.MobileService.SyncContext.IsInitialized)
{
var store=new mobileseservicesqlitestore(“MyDatabase.db”);
store.DefineTable();
store.DefineTable();
store.DefineTable();
store.DefineTable();
store.DefineTable();
store.DefineTable();
store.DefineTable();
等待App.MobileService.SyncContext.InitializeAsync(商店);
}
}
我得到异常“从'Projekt.DataModel.Meeting'上的'address'获取值时出错”

问题是:处理这件事真的很难。难道没有更简单的解决办法吗?我现在不需要什么,只需要同步我的数据库。请记住,我有一个通过外键连接的表。也许我跳过了一些有价值的例子或教程?


感谢您的帮助。

您是对的,这个数据库对于漫游设置来说太大了。您应该能够让Azure移动服务为您的场景工作

管理关系的一种方法是在连接表的后端创建数据库视图,特别是当关系是1对多而不是多对多时。然后你就可以和他们同步了。请参阅我在此论坛线程上的消息,其中描述了这将如何工作:

您可能还对我们构建的解决方案加速器感兴趣,该加速器展示了如何在真实应用程序中连接所有内容:

如果您有更多问题,请随时在产品团队定期监控的论坛中发布:

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);
    }
}