public async Task <IDbConnection> OpenConnectionAsync(string connectionString, CancellationToken cancellationToken) { var sqLiteConnection = new System.Data.SQLite.SQLiteConnection(connectionString); await sqLiteConnection.OpenAsync(cancellationToken).ConfigureAwait(false); return(sqLiteConnection); }
public SharedConnectionSource(string connectionString) : base(connectionString) { Connection = Task.Run(async() => { var connection = new System.Data.SQLite.SQLiteConnection(connectionString); await connection.OpenAsync(); OpenConnections = 1; return(connection); }); }
public override async Task WithConnectionAsync(Action <System.Data.SQLite.SQLiteConnection> action) { using (var connection = new System.Data.SQLite.SQLiteConnection(connectionString)) { await connection.OpenAsync(); OpenConnections++; action(connection); connection.Close(); OpenConnections--; } }
public override async Task <T> FromConnectionAsync <T>(Func <System.Data.SQLite.SQLiteConnection, Task <T> > action) { using (var connection = new System.Data.SQLite.SQLiteConnection(connectionString)) { await connection.OpenAsync(); OpenConnections++; var value = await action(connection); connection.Close(); OpenConnections--; return(value); } }