示例#1
0
        public static async Task SeedAsync(MyContext myContext,
                                           ILoggerFactory loggerFactory, int retry = 0)
        {
            int retryForAvailability = retry;

            try
            {
                // TODO: Only run this if using a real database
                // myContext.Database.Migrate();

                if (!myContext.Posts.Any())
                {
                    #region 无序数据添加
                    //myContext.Posts.AddRange(
                    //    new List<Post>{
                    //        new Post{
                    //            Title = "Post Title 1",
                    //            Body = "Post Body 1",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 2",
                    //            Body = "Post Body 2",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 3",
                    //            Body = "Post Body 3",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 4",
                    //            Body = "Post Body 4",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 5",
                    //            Body = "Post Body 5",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 6",
                    //            Body = "Post Body 6",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 7",
                    //            Body = "Post Body 7",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 8",
                    //            Body = "Post Body 8",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 9",
                    //            Body = "Post Body 9",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 10",
                    //            Body = "Post Body 10",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 11",
                    //            Body = "Post Body 11",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 12",
                    //            Body = "Post Body 12",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 13",
                    //            Body = "Post Body 13",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 14",
                    //            Body = "Post Body 14",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 15",
                    //            Body = "Post Body 15",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 16",
                    //            Body = "Post Body 16",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 17",
                    //            Body = "Post Body 17",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 18",
                    //            Body = "Post Body 18",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 19",
                    //            Body = "Post Body 19",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 20",
                    //            Body = "Post Body 20",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 21",
                    //            Body = "Post Body 21",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 22",
                    //            Body = "Post Body 22",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 23",
                    //            Body = "Post Body 23",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 24",
                    //            Body = "Post Body 24",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 25",
                    //            Body = "Post Body 25",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 26",
                    //            Body = "Post Body 26",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 27",
                    //            Body = "Post Body 27",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 28",
                    //            Body = "Post Body 28",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 29",
                    //            Body = "Post Body 29",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 30",
                    //            Body = "Post Body 30",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 31",
                    //            Body = "Post Body 31",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        },
                    //        new Post{
                    //            Title = "Post Title 32",
                    //            Body = "Post Body 32",
                    //            Author = "zhusir",
                    //            LastModified = DateTime.Now
                    //        }
                    //    }
                    //);
                    #endregion

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 1",
                        Body         = "Post Body 1",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 2",
                        Body         = "Post Body 44",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 3",
                        Body         = "Post Body 3",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 4",
                        Body         = "Post Body 233",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 5",
                        Body         = "Post Body 5",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 6",
                        Body         = "Post Body 70",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 7",
                        Body         = "Post Body 7",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 8",
                        Body         = "Post Body 8",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 9",
                        Body         = "Post Body 9",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 10",
                        Body         = "Post Body 50",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 11",
                        Body         = "Post Body 11",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 12",
                        Body         = "Post Body 12",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 13",
                        Body         = "Post Body 13",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 14",
                        Body         = "Post Body 44",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 15",
                        Body         = "Post Body 15",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 80",
                        Body         = "Post Body 16",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 17",
                        Body         = "Post Body 17",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 18",
                        Body         = "Post Body 18",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 88",
                        Body         = "Post Body 19",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 20",
                        Body         = "Post Body 20",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 21",
                        Body         = "Post Body 21",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 22",
                        Body         = "Post Body 22",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 23",
                        Body         = "Post Body 23",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 24",
                        Body         = "Post Body 24",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 25",
                        Body         = "Post Body 25",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 26",
                        Body         = "Post Body 26",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 27",
                        Body         = "Post Body 27",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 28",
                        Body         = "Post Body 28",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 29",
                        Body         = "Post Body 29",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 30",
                        Body         = "Post Body 30",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 31",
                        Body         = "Post Body 31",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    }); await myContext.SaveChangesAsync();

                    myContext.Posts.Add(new Post
                    {
                        Title        = "Post Title 32",
                        Body         = "Post Body 32",
                        Author       = "zhusir",
                        LastModified = DateTime.Now
                    });

                    await myContext.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                if (retryForAvailability < 10)
                {
                    retryForAvailability++;
                    var logger = loggerFactory.CreateLogger <MyContextSeed>();
                    logger.LogError(ex.Message);
                    await SeedAsync(myContext, loggerFactory, retryForAvailability);
                }
            }
        }