如何在注销时清除sqlite数据库

时间:2016-04-15 20:40:44

标签: c# sqlite xamarin.forms azure-mobile-services offline-mode

我正在使用Xamarin Forms和WindowsAzure.MobileServices.SQLiteStore NuGet来处理我的sqlite数据库和我的azure数据库之间的同步。一切正常,但当我想注销我的用户时,我想清理数据库。这样,在下次登录时,它将再次重新生成数据库并从零开始同步。我试过清除表,但这只删除了本地数据,当你重新登录它时,它只会同步任何新数据。

目前,我的处理方法如下:

// Globally declared and initialized in my init() method
MobileServiceSQLiteStore store { get; set; }
public MobileServiceClient MobileService { get; set; }

public async Task Dispose()
{
    try
    {
        initialized = false;

        // await this.userTable.PurgeAsync<AzureUser>("CleanUsers", this.userTable.CreateQuery(), CancellationToken.None);

        store.Dispose();
        MobileService.Dispose();

        store = null;
        MobileService = null;
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

我是否知道如何使用此组件在注销时清理我的sqlite数据库?谢谢!

1 个答案:

答案 0 :(得分:4)

如果要清除所有项目,请使用:

this.userTable.PurgeAsync(null, null, true, CancellationToken.None);

See the code