Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
            }
        }