From b559f533321e8abd318b15812c19451250c0267b Mon Sep 17 00:00:00 2001 From: PM Extra Date: Fri, 19 Jan 2018 20:08:35 +0800 Subject: [PATCH] Fix about some async calls. --- .../Data/ConfigurationDbContextSeed.cs | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/Services/Identity/Identity.API/Data/ConfigurationDbContextSeed.cs b/src/Services/Identity/Identity.API/Data/ConfigurationDbContextSeed.cs index 1226e8452..b109bf896 100644 --- a/src/Services/Identity/Identity.API/Data/ConfigurationDbContextSeed.cs +++ b/src/Services/Identity/Identity.API/Data/ConfigurationDbContextSeed.cs @@ -1,6 +1,7 @@ using IdentityServer4.EntityFramework.DbContexts; using IdentityServer4.EntityFramework.Mappers; using Microsoft.eShopOnContainers.Services.Identity.API.Configuration; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System.Collections.Generic; using System.Linq; @@ -24,33 +25,22 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Data {"OrderingApi", configuration.GetValue("OrderingApiClient")} }; - if (!context.Clients.Any()) + if (!await context.Clients.AnyAsync()) { - foreach (var client in Config.GetClients(clientUrls)) - { - await context.Clients.AddAsync(client.ToEntity()); - } - await context.SaveChangesAsync(); + context.Clients.AddRange(Config.GetClients(clientUrls).Select(client => client.ToEntity())); } - if (!context.IdentityResources.Any()) + if (!await context.IdentityResources.AnyAsync()) { - foreach (var resource in Config.GetResources()) - { - await context.IdentityResources.AddAsync(resource.ToEntity()); - } - await context.SaveChangesAsync(); + context.IdentityResources.AddRange(Config.GetResources().Select(resource => resource.ToEntity())); } - if (!context.ApiResources.Any()) + if (!await context.ApiResources.AnyAsync()) { - foreach (var api in Config.GetApis()) - { - await context.ApiResources.AddAsync(api.ToEntity()); - } - - await context.SaveChangesAsync(); + context.ApiResources.AddRange(Config.GetApis().Select(api => api.ToEntity())); } + + await context.SaveChangesAsync(); } } }