예제 #1
0
        public async Task Execute(Func <AsyncPoco.Database, Task> action)
        {
            await _retryPolicy.ExecuteAsync(async() =>
            {
                if (_connection.State != System.Data.ConnectionState.Open)
                {
                    await _connection.OpenAsync();
                }

                using (var db = new AsyncPoco.Database(_connection))
                //using (var trans = await db.GetTransactionAsync())
                {
                    await action(db);
                }
            });
        }
예제 #2
0
        public async Task <T> Query <T>(Func <AsyncPoco.Database, Task <T> > query)
        {
            T result = default(T);

            await _retryPolicy.ExecuteAsync(async() =>
            {
                if (_connection.State != System.Data.ConnectionState.Open)
                {
                    await _connection.OpenAsync();
                }

                using (var db = new AsyncPoco.Database(_connection))
                //using (var trans = await db.GetTransactionAsync())
                {
                    result = await query(db);
                }
            });

            return(result);
        }