Utilisation de mots-clés Async Await avec Dapper

.net-4.5 async-await dapper

Question

Je veux utiliser un micro-orm et j'ai décidé d'aller avec Dapper.

Mais il ne semble pas y avoir de mention de ce support pour la nouvelle syntaxe asynchrone. Les questions asynchrones sont importantes pour moi.

Quelqu'un peut-il fournir un exemple de code d'une requête asynchrone effectuée avec Dapper à l'aide du mot-clé wait?

Réponse acceptée

Dapper lors du ciblage .NET 4.5 prend entièrement en charge l’utilisation de TPL, via les méthodes se terminant par * Async - QueryAsync, etc. Plus précisément, la version .NET 4.5 inclut cet ensemble supplémentaire de méthodes.


Réponse populaire

Voici un exemple de Yaron

 public async Task<List<Artist>> GetAllAsync()
    {
        using (
            SqlConnection conn =
                new SqlConnection(Conn.String))
        {
            await conn.OpenAsync();

            using (var multi = await conn.QueryMultipleAsync(StoredProcs.Artists.GetAll, commandType: CommandType.StoredProcedure))
            {
                var Artists = multi.Read<Artist, AlbumArtist, Artist>((artist, albumArtist) =>
                {
                    artist.albumArtist = albumArtist;
                    return artist;
                }).ToList();

                var albums = multi.Read<Album, AlbumArtist, Album>(
                (album, albumArtist, album) =>
                {
                    album.albumArtist = album;
                    return albums;
                }).ToList();


                conn.Close();

                return Artists;
            }
        }
    }


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi