示例#1
0
        /// <summary>
        /// Inserts data into database.
        /// </summary>
        /// <param name="webHost"></param>
        /// <returns></returns>
        public static IWebHost SeedingData(this IWebHost webHost)
        {
            var serviceScope       = webHost.Services.CreateScope();
            var services           = serviceScope.ServiceProvider;
            var context            = services.GetService <DataContext>();
            var hostingEnvironment = services.GetService <Microsoft.AspNetCore.Hosting.IHostingEnvironment>();

            if (hostingEnvironment.EnvironmentName == "Development")
            {
                context.Database.BeginTransaction();

                try
                {
                    if (!context.Cities.Any())
                    {
                        DataSeeder.InitData(context);
                    }

                    context.Database.CommitTransaction();
                }
                catch (Exception)
                {
                    context.Database.RollbackTransaction();
                }
            }

            return(webHost);
        }
示例#2
0
        public static IWebHost SeedingData(this IWebHost webHost)
        {
            using (var serviceScope = webHost.Services.CreateScope())
            {
                var context            = serviceScope.ServiceProvider.GetService <DataContext>();
                var hostingEnvironment = serviceScope.ServiceProvider.GetService <IHostingEnvironment>();

                if (!context.Newss.Any())
                {
                    DataSeeder.InitData(context);
                }
            }

            return(webHost);
        }
示例#3
0
        public static async Task <IWebHost> SeedingData(this IWebHost webHost)
        {
            using (var serviceScope = webHost.Services.CreateScope())
            {
                var userManager        = serviceScope.ServiceProvider.GetRequiredService <UserManager <ApplicationUser> >();
                var rolesManager       = serviceScope.ServiceProvider.GetRequiredService <RoleManager <IdentityRole> >();
                var context            = serviceScope.ServiceProvider.GetService <DataContext>();
                var hostingEnvironment = serviceScope.ServiceProvider.GetService <IHostingEnvironment>();

                if (!context.Newss.Any())
                {
                    await DataSeeder.InitData(context);
                }

                await DataSeeder.InitializeAsync(userManager, rolesManager);

                if (!context.Comments.Any())
                {
                    await DataSeeder.InitComment(context);
                }
            }
            return(webHost);
        }