internal static void SeedData(StoreContext context) { try { if (!context.Categories.Any()) { context.Categories.AddRange(SampleData.GetCategories()); context.SaveChanges(); } if (!context.Customers.Any()) { var prod1 = context.Categories.Include(c => c.Products) .FirstOrDefault()?.Products.Skip(3).FirstOrDefault(); var prod2 = context.Categories.Skip(2).Include(c => c.Products) .FirstOrDefault()?.Products.Skip(2).FirstOrDefault(); var prod3 = context.Categories.Skip(5).Include(c => c.Products) .FirstOrDefault()?.Products.Skip(1).FirstOrDefault(); var prod4 = context.Categories.Skip(2).Include(c => c.Products).FirstOrDefault()? .Products.Skip(1).FirstOrDefault(); context.Customers .AddRange(SampleData.GetAllCustomerRecords( new List <Product> { prod1, prod2, prod3, prod4 })); context.SaveChanges(); } } catch (Exception ex) { Console.WriteLine(ex); } }
internal static void SeedData(StoreContext context) { try { var cust = new Customer() { EmailAddress = "*****@*****.**", Password = "******", FullName = "Super Spy", }; if (!context.Customers.Any()) { context.Customers.Add(cust); context.SaveChanges(); } if (!context.Categories.Any()) { foreach (var itm in SampleData.GetCategories()) { context.Categories.Add(itm.Cat); context.SaveChanges(); itm.Cat.Products.AddRange(itm.Products); context.SaveChanges(); } //context.Categories.AddRange(); //context.SaveChanges(); } if (!context.Customers.Any()) { var prod1 = context.Categories .Include(c => c.Products).FirstOrDefault()? .Products.Skip(3).FirstOrDefault(); var prod2 = context.Categories.Skip(2) .Include(c => c.Products).FirstOrDefault()? .Products.Skip(2).FirstOrDefault(); var prod3 = context.Categories.Skip(5) .Include(c => c.Products).FirstOrDefault()? .Products.Skip(1).FirstOrDefault(); var prod4 = context.Categories.Skip(2) .Include(c => c.Products).FirstOrDefault()? .Products.Skip(1).FirstOrDefault(); context.Customers.Update(SampleData.GetAllCustomerRecords(cust, new List <Product> { prod1, prod2, prod3, prod4 })); context.SaveChanges(); } } catch (Exception ex) { Console.WriteLine(ex); throw; } }