public static void Initialize(TaxCalculatorContext context) { context.Database.EnsureCreated(); if (context.TaxTypes.Any()) { return;// DB has been seeded } var progressiveTaxes = new ProgressiveTax[] { new ProgressiveTax { Rate = 0.1, From = 0, To = 8350, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new ProgressiveTax { Rate = 0.15, From = 8351, To = 33950, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new ProgressiveTax { Rate = 0.25, From = 33951, To = 82250, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new ProgressiveTax { Rate = 0.28, From = 82251, To = 171550, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new ProgressiveTax { Rate = 0.33, From = 171551, To = 372950, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new ProgressiveTax { Rate = 0.35, From = 372951, To = double.MaxValue, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false } }; progressiveTaxes.ToList().ForEach(x => context.ProgressiveTaxes.Add(x)); context.SaveChanges(); var taxTypes = new TaxType[] { new TaxType { Description = "Progressive", Code = "PGRSV", CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new TaxType { Description = "Flat Value", Code = "FLVL", CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new TaxType { Description = "Flat Rate", Code = "FLRT", CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false } }; taxTypes.ToList().ForEach(x => context.TaxTypes.Add(x)); context.SaveChanges(); var postalCodes = new PostalCode[] { new PostalCode { Value = "7441", TaxTypeID = context.TaxTypes.ToList().Where(x => x.Code.Equals("PGRSV")).FirstOrDefault().TaxTypeID, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new PostalCode { Value = "A100", TaxTypeID = context.TaxTypes.ToList().Where(x => x.Code.Equals("FLVL")).FirstOrDefault().TaxTypeID, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new PostalCode { Value = "7000", TaxTypeID = context.TaxTypes.ToList().Where(x => x.Code.Equals("FLRT")).FirstOrDefault().TaxTypeID, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false }, new PostalCode { Value = "1000", TaxTypeID = context.TaxTypes.ToList().Where(x => x.Code.Equals("PGRSV")).FirstOrDefault().TaxTypeID, CreatedBy = "System", LastModifiedBy = "System", CreatedDate = DateTime.Now, LastModifiedDate = DateTime.Now, IsDeleted = false } }; postalCodes.ToList().ForEach(x => context.PostalCodes.Add(x)); context.SaveChanges(); }