本文整理汇总了C#中SQLiteAsyncConnection.RunInTransactionAsync方法的典型用法代码示例。如果您正苦于以下问题:C# SQLiteAsyncConnection.RunInTransactionAsync方法的具体用法?C# SQLiteAsyncConnection.RunInTransactionAsync怎么用?C# SQLiteAsyncConnection.RunInTransactionAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SQLiteAsyncConnection
的用法示例。
在下文中一共展示了SQLiteAsyncConnection.RunInTransactionAsync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeMuniDatabaseAsync
//TODO:Make backup everytime there's a successful refresh in case it fails next time.
public static async Task MakeMuniDatabaseAsync()
{
var refreshClient = new DataRefreshHelper();
await refreshClient.RefreshDataAsync();
var allStops = refreshClient.stopDictionary;
var allRoutes = refreshClient.routesList;
await ApplicationData.Current.LocalFolder.CreateFileAsync("muni.sqlite", CreationCollisionOption.ReplaceExisting);
var muniDb = await ApplicationData.Current.LocalFolder.GetFileAsync("muni.sqlite");
var _refreshAsyncConnection = new SQLiteAsyncConnection(() => new SQLiteConnectionWithLock(new SQLitePlatformWinRT(), new SQLiteConnectionString(muniDb.Path, false)));
await _refreshAsyncConnection.CreateTableAsync<Stop>();
await _refreshAsyncConnection.RunInTransactionAsync((SQLiteConnection transaction) =>
{
transaction.InsertAll(allStops.Values);
});
await _refreshAsyncConnection.CreateTableAsync<Route>();
await _refreshAsyncConnection.RunInTransactionAsync((SQLiteConnection transaction) =>
{
transaction.InsertAll(allRoutes);
});
//foreach (var route in allRoutes)
//{
// await _refreshAsyncConnection.InsertAsync(route);
//}
////Create backup file
//await muniDb.CopyAsync(ApplicationData.Current.LocalFolder, "backup.sqlite", NameCollisionOption.ReplaceExisting);
}