public static void Seed(ComplexNavigationsContext context) { // TODO: only delete if model has changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { var l1_01 = new Level1 { Id = 1, Name = "L1 01" }; var l1_02 = new Level1 { Id = 2, Name = "L1 02" }; var l1_03 = new Level1 { Id = 3, Name = "L1 03" }; var l1_04 = new Level1 { Id = 4, Name = "L1 04" }; var l1_05 = new Level1 { Id = 5, Name = "L1 05" }; var l1_06 = new Level1 { Id = 6, Name = "L1 06" }; var l1_07 = new Level1 { Id = 7, Name = "L1 07" }; var l1_08 = new Level1 { Id = 8, Name = "L1 08" }; var l1_09 = new Level1 { Id = 9, Name = "L1 09" }; var l1_10 = new Level1 { Id = 10, Name = "L1 10" }; var l2_01 = new Level2 { Id = 1, Name = "L2 01" }; var l2_02 = new Level2 { Id = 2, Name = "L2 02" }; var l2_03 = new Level2 { Id = 3, Name = "L2 03" }; var l2_04 = new Level2 { Id = 4, Name = "L2 04" }; var l2_05 = new Level2 { Id = 5, Name = "L2 05" }; var l2_06 = new Level2 { Id = 6, Name = "L2 06" }; var l2_07 = new Level2 { Id = 7, Name = "L2 07" }; var l2_08 = new Level2 { Id = 8, Name = "L2 08" }; var l2_09 = new Level2 { Id = 9, Name = "L2 09" }; var l2_10 = new Level2 { Id = 10, Name = "L2 10" }; var l3_01 = new Level3 { Id = 1, Name = "L3 01" }; var l3_02 = new Level3 { Id = 2, Name = "L3 02" }; var l3_03 = new Level3 { Id = 3, Name = "L3 03" }; var l3_04 = new Level3 { Id = 4, Name = "L3 04" }; var l3_05 = new Level3 { Id = 5, Name = "L3 05" }; var l3_06 = new Level3 { Id = 6, Name = "L3 06" }; var l3_07 = new Level3 { Id = 7, Name = "L3 07" }; var l3_08 = new Level3 { Id = 8, Name = "L3 08" }; var l3_09 = new Level3 { Id = 9, Name = "L3 09" }; var l3_10 = new Level3 { Id = 10, Name = "L3 10" }; var l4_01 = new Level4 { Id = 1, Name = "L4 01" }; var l4_02 = new Level4 { Id = 2, Name = "L4 02" }; var l4_03 = new Level4 { Id = 3, Name = "L4 03" }; var l4_04 = new Level4 { Id = 4, Name = "L4 04" }; var l4_05 = new Level4 { Id = 5, Name = "L4 05" }; var l4_06 = new Level4 { Id = 6, Name = "L4 06" }; var l4_07 = new Level4 { Id = 7, Name = "L4 07" }; var l4_08 = new Level4 { Id = 8, Name = "L4 08" }; var l4_09 = new Level4 { Id = 9, Name = "L4 09" }; var l4_10 = new Level4 { Id = 10, Name = "L4 10" }; var l1s = new[] { l1_01, l1_02, l1_03, l1_04, l1_05, l1_06, l1_07, l1_08, l1_09, l1_10 }; var l2s = new[] { l2_01, l2_02, l2_03, l2_04, l2_05, l2_06, l2_07, l2_08, l2_09, l2_10 }; var l3s = new[] { l3_01, l3_02, l3_03, l3_04, l3_05, l3_06, l3_07, l3_08, l3_09, l3_10 }; var l4s = new[] { l4_01, l4_02, l4_03, l4_04, l4_05, l4_06, l4_07, l4_08, l4_09, l4_10 }; context.LevelOne.AddRange(l1s); context.LevelTwo.AddRange(l2s); context.LevelThree.AddRange(l3s); context.LevelFour.AddRange(l4s); l1s[0].OneToOne_Required_PK = l2s[0]; l1s[1].OneToOne_Required_PK = l2s[1]; l1s[2].OneToOne_Required_PK = l2s[2]; l1s[3].OneToOne_Required_PK = l2s[3]; l1s[4].OneToOne_Required_PK = l2s[4]; l1s[5].OneToOne_Required_PK = l2s[5]; l1s[6].OneToOne_Required_PK = l2s[6]; l1s[7].OneToOne_Required_PK = l2s[7]; l1s[8].OneToOne_Required_PK = l2s[8]; l1s[9].OneToOne_Required_PK = l2s[9]; l1s[0].OneToOne_Required_FK = l2s[9]; l1s[1].OneToOne_Required_FK = l2s[8]; l1s[2].OneToOne_Required_FK = l2s[7]; l1s[3].OneToOne_Required_FK = l2s[6]; l1s[4].OneToOne_Required_FK = l2s[5]; l1s[5].OneToOne_Required_FK = l2s[4]; l1s[6].OneToOne_Required_FK = l2s[3]; l1s[7].OneToOne_Required_FK = l2s[2]; l1s[8].OneToOne_Required_FK = l2s[1]; l1s[9].OneToOne_Required_FK = l2s[0]; l1s[0].OneToMany_Required = new List<Level2> { l2s[0], l2s[1], l2s[2], l2s[3], l2s[4], l2s[5], l2s[6], l2s[7], l2s[8], l2s[9] }; l1s[0].OneToMany_Required_Self = new List<Level1> { l1s[0], l1s[1] }; l1s[1].OneToMany_Required_Self = new List<Level1> { l1s[2] }; l1s[2].OneToMany_Required_Self = new List<Level1> { l1s[3] }; l1s[3].OneToMany_Required_Self = new List<Level1> { l1s[4] }; l1s[4].OneToMany_Required_Self = new List<Level1> { l1s[5] }; l1s[5].OneToMany_Required_Self = new List<Level1> { l1s[6] }; l1s[6].OneToMany_Required_Self = new List<Level1> { l1s[7] }; l1s[7].OneToMany_Required_Self = new List<Level1> { l1s[8] }; l1s[8].OneToMany_Required_Self = new List<Level1> { l1s[9] }; l1s[9].OneToMany_Required_Self = new List<Level1>(); l2s[0].OneToOne_Required_PK = l3s[0]; l2s[1].OneToOne_Required_PK = l3s[1]; l2s[2].OneToOne_Required_PK = l3s[2]; l2s[3].OneToOne_Required_PK = l3s[3]; l2s[4].OneToOne_Required_PK = l3s[4]; l2s[5].OneToOne_Required_PK = l3s[5]; l2s[6].OneToOne_Required_PK = l3s[6]; l2s[7].OneToOne_Required_PK = l3s[7]; l2s[8].OneToOne_Required_PK = l3s[8]; l2s[9].OneToOne_Required_PK = l3s[9]; l2s[0].OneToOne_Required_FK = l3s[9]; l2s[1].OneToOne_Required_FK = l3s[8]; l2s[2].OneToOne_Required_FK = l3s[7]; l2s[3].OneToOne_Required_FK = l3s[6]; l2s[4].OneToOne_Required_FK = l3s[5]; l2s[5].OneToOne_Required_FK = l3s[4]; l2s[6].OneToOne_Required_FK = l3s[3]; l2s[7].OneToOne_Required_FK = l3s[2]; l2s[8].OneToOne_Required_FK = l3s[1]; l2s[9].OneToOne_Required_FK = l3s[0]; l2s[0].OneToMany_Required = new List<Level3> { l3s[0], l3s[1], l3s[2], l3s[3], l3s[4], l3s[5], l3s[6], l3s[7], l3s[8], l3s[9] }; l2s[0].OneToMany_Required_Self = new List<Level2> { l2s[0], l2s[1] }; l2s[1].OneToMany_Required_Self = new List<Level2> { l2s[2] }; l2s[2].OneToMany_Required_Self = new List<Level2> { l2s[3] }; l2s[3].OneToMany_Required_Self = new List<Level2> { l2s[4] }; l2s[4].OneToMany_Required_Self = new List<Level2> { l2s[5] }; l2s[5].OneToMany_Required_Self = new List<Level2> { l2s[6] }; l2s[6].OneToMany_Required_Self = new List<Level2> { l2s[7] }; l2s[7].OneToMany_Required_Self = new List<Level2> { l2s[8] }; l2s[8].OneToMany_Required_Self = new List<Level2> { l2s[9] }; l2s[9].OneToMany_Required_Self = new List<Level2>(); l3s[0].OneToOne_Required_PK = l4s[0]; l3s[1].OneToOne_Required_PK = l4s[1]; l3s[2].OneToOne_Required_PK = l4s[2]; l3s[3].OneToOne_Required_PK = l4s[3]; l3s[4].OneToOne_Required_PK = l4s[4]; l3s[5].OneToOne_Required_PK = l4s[5]; l3s[6].OneToOne_Required_PK = l4s[6]; l3s[7].OneToOne_Required_PK = l4s[7]; l3s[8].OneToOne_Required_PK = l4s[8]; l3s[9].OneToOne_Required_PK = l4s[9]; l3s[0].OneToOne_Required_FK = l4s[9]; l3s[1].OneToOne_Required_FK = l4s[8]; l3s[2].OneToOne_Required_FK = l4s[7]; l3s[3].OneToOne_Required_FK = l4s[6]; l3s[4].OneToOne_Required_FK = l4s[5]; l3s[5].OneToOne_Required_FK = l4s[4]; l3s[6].OneToOne_Required_FK = l4s[3]; l3s[7].OneToOne_Required_FK = l4s[2]; l3s[8].OneToOne_Required_FK = l4s[1]; l3s[9].OneToOne_Required_FK = l4s[0]; l3s[0].OneToMany_Required = new List<Level4> { l4s[0], l4s[1], l4s[2], l4s[3], l4s[4], l4s[5], l4s[6], l4s[7], l4s[8], l4s[9] }; l3s[0].OneToMany_Required_Self = new List<Level3> { l3s[0], l3s[1] }; l3s[1].OneToMany_Required_Self = new List<Level3> { l3s[2] }; l3s[2].OneToMany_Required_Self = new List<Level3> { l3s[3] }; l3s[3].OneToMany_Required_Self = new List<Level3> { l3s[4] }; l3s[4].OneToMany_Required_Self = new List<Level3> { l3s[5] }; l3s[5].OneToMany_Required_Self = new List<Level3> { l3s[6] }; l3s[6].OneToMany_Required_Self = new List<Level3> { l3s[7] }; l3s[7].OneToMany_Required_Self = new List<Level3> { l3s[8] }; l3s[8].OneToMany_Required_Self = new List<Level3> { l3s[9] }; l3s[9].OneToMany_Required_Self = new List<Level3>(); l4s[0].OneToMany_Required_Self = new List<Level4> { l4s[0], l4s[1] }; l4s[1].OneToMany_Required_Self = new List<Level4> { l4s[2] }; l4s[2].OneToMany_Required_Self = new List<Level4> { l4s[3] }; l4s[3].OneToMany_Required_Self = new List<Level4> { l4s[4] }; l4s[4].OneToMany_Required_Self = new List<Level4> { l4s[5] }; l4s[5].OneToMany_Required_Self = new List<Level4> { l4s[6] }; l4s[6].OneToMany_Required_Self = new List<Level4> { l4s[7] }; l4s[7].OneToMany_Required_Self = new List<Level4> { l4s[8] }; l4s[8].OneToMany_Required_Self = new List<Level4> { l4s[9] }; l4s[9].OneToMany_Required_Self = new List<Level4>(); context.SaveChanges(); l1s[0].OneToOne_Optional_PK = l2s[0]; l1s[2].OneToOne_Optional_PK = l2s[2]; l1s[4].OneToOne_Optional_PK = l2s[4]; l1s[6].OneToOne_Optional_PK = l2s[6]; l1s[8].OneToOne_Optional_PK = l2s[8]; l1s[1].OneToOne_Optional_FK = l2s[8]; l1s[3].OneToOne_Optional_FK = l2s[6]; l1s[5].OneToOne_Optional_FK = l2s[4]; l1s[7].OneToOne_Optional_FK = l2s[2]; l1s[9].OneToOne_Optional_FK = l2s[0]; l1s[0].OneToMany_Optional = new List<Level2> { l2s[1], l2s[3], l2s[5], l2s[7], l2s[9] }; l1s[1].OneToMany_Optional_Self = new List<Level1> { l1s[0] }; l1s[3].OneToMany_Optional_Self = new List<Level1> { l1s[2] }; l1s[5].OneToMany_Optional_Self = new List<Level1> { l1s[4] }; l1s[7].OneToMany_Optional_Self = new List<Level1> { l1s[6] }; l1s[9].OneToMany_Optional_Self = new List<Level1> { l1s[8] }; // issue #1417 //l1s[0].OneToOne_Optional_Self = l1s[9]; //l1s[1].OneToOne_Optional_Self = l1s[8]; //l1s[2].OneToOne_Optional_Self = l1s[7]; //l1s[3].OneToOne_Optional_Self = l1s[6]; //l1s[4].OneToOne_Optional_Self = l1s[5]; l2s[0].OneToOne_Optional_PK = l3s[0]; l2s[2].OneToOne_Optional_PK = l3s[2]; l2s[4].OneToOne_Optional_PK = l3s[4]; l2s[6].OneToOne_Optional_PK = l3s[6]; l2s[8].OneToOne_Optional_PK = l3s[8]; l2s[1].OneToOne_Optional_FK = l3s[8]; l2s[3].OneToOne_Optional_FK = l3s[6]; l2s[5].OneToOne_Optional_FK = l3s[4]; l2s[7].OneToOne_Optional_FK = l3s[2]; l2s[9].OneToOne_Optional_FK = l3s[0]; l2s[0].OneToMany_Optional = new List<Level3> { l3s[1], l3s[5], l3s[9] }; l2s[1].OneToMany_Optional = new List<Level3> { l3s[3], l3s[7] }; l2s[1].OneToMany_Optional_Self = new List<Level2> { l2s[0] }; l2s[3].OneToMany_Optional_Self = new List<Level2> { l2s[2] }; l2s[5].OneToMany_Optional_Self = new List<Level2> { l2s[4] }; l2s[7].OneToMany_Optional_Self = new List<Level2> { l2s[6] }; l2s[9].OneToMany_Optional_Self = new List<Level2> { l2s[8] }; // issue #1417 //l2s[0].OneToOne_Optional_Self = l2s[9]; //l2s[1].OneToOne_Optional_Self = l2s[8]; //l2s[2].OneToOne_Optional_Self = l2s[7]; //l2s[3].OneToOne_Optional_Self = l2s[6]; //l2s[4].OneToOne_Optional_Self = l2s[5]; l3s[0].OneToOne_Optional_PK = l4s[0]; l3s[2].OneToOne_Optional_PK = l4s[2]; l3s[4].OneToOne_Optional_PK = l4s[4]; l3s[6].OneToOne_Optional_PK = l4s[6]; l3s[8].OneToOne_Optional_PK = l4s[8]; l3s[1].OneToOne_Optional_FK = l4s[8]; l3s[3].OneToOne_Optional_FK = l4s[6]; l3s[5].OneToOne_Optional_FK = l4s[4]; l3s[7].OneToOne_Optional_FK = l4s[2]; l3s[9].OneToOne_Optional_FK = l4s[0]; l3s[0].OneToMany_Optional = new List<Level4> { l4s[1], l4s[3], l4s[5], l4s[7], l4s[9] }; l3s[1].OneToMany_Optional_Self = new List<Level3> { l3s[0] }; l3s[3].OneToMany_Optional_Self = new List<Level3> { l3s[2] }; l3s[5].OneToMany_Optional_Self = new List<Level3> { l3s[4] }; l3s[7].OneToMany_Optional_Self = new List<Level3> { l3s[6] }; l3s[9].OneToMany_Optional_Self = new List<Level3> { l3s[8] }; // issue #1417 //l3s[0].OneToOne_Optional_Self = l3s[9]; //l3s[1].OneToOne_Optional_Self = l3s[8]; //l3s[2].OneToOne_Optional_Self = l3s[7]; //l3s[3].OneToOne_Optional_Self = l3s[6]; //l3s[4].OneToOne_Optional_Self = l3s[5]; l4s[1].OneToMany_Optional_Self = new List<Level4> { l4s[0] }; l4s[3].OneToMany_Optional_Self = new List<Level4> { l4s[2] }; l4s[5].OneToMany_Optional_Self = new List<Level4> { l4s[4] }; l4s[7].OneToMany_Optional_Self = new List<Level4> { l4s[6] }; l4s[9].OneToMany_Optional_Self = new List<Level4> { l4s[8] }; context.SaveChanges(); for (int i = 0; i < 10; i++) { var language = new ComplexNavigationLanguage { Name = "Language" + i, CultureString = "Foo" + i }; context.Languages.Add(language); } context.SaveChanges(); int ii = 0; foreach (var l in context.Languages) { var globalization = new ComplexNavigationGlobalization { Text = "Globalization" + ii, Language = l }; ii++; context.Globalizations.Add(globalization); } context.SaveChanges(); var globalizations = context.Globalizations.ToList(); var mls1 = new ComplexNavigationString { DefaultText = "MLS1", Globalizations = globalizations.Take(3).ToList() }; var mls2 = new ComplexNavigationString { DefaultText = "MLS2", Globalizations = globalizations.Skip(3).Take(3).ToList() }; var mls3 = new ComplexNavigationString { DefaultText = "MLS3", Globalizations = globalizations.Skip(6).Take(3).ToList() }; var mls4 = new ComplexNavigationString { DefaultText = "MLS4", Globalizations = globalizations.Skip(9).ToList() }; context.MultilingualStrings.AddRange(new[] { mls1, mls2, mls3, mls4 }); context.SaveChanges(); var field1 = new ComplexNavigationField { Name = "Field1", Label = mls1, Placeholder = null }; var field2 = new ComplexNavigationField { Name = "Field2", Label = mls3, Placeholder = mls4 }; context.Fields.AddRange(new[] { field1, field2 }); context.SaveChanges(); } }
public static void Seed(ComplexNavigationsContext context) { // TODO: only delete if model has changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { var l1_01 = new Level1 { Id = 1, Name = "L1 01" }; var l1_02 = new Level1 { Id = 2, Name = "L1 02" }; var l1_03 = new Level1 { Id = 3, Name = "L1 03" }; var l1_04 = new Level1 { Id = 4, Name = "L1 04" }; var l1_05 = new Level1 { Id = 5, Name = "L1 05" }; var l1_06 = new Level1 { Id = 6, Name = "L1 06" }; var l1_07 = new Level1 { Id = 7, Name = "L1 07" }; var l1_08 = new Level1 { Id = 8, Name = "L1 08" }; var l1_09 = new Level1 { Id = 9, Name = "L1 09" }; var l1_10 = new Level1 { Id = 10, Name = "L1 10" }; var l2_01 = new Level2 { Id = 1, Name = "L2 01" }; var l2_02 = new Level2 { Id = 2, Name = "L2 02" }; var l2_03 = new Level2 { Id = 3, Name = "L2 03" }; var l2_04 = new Level2 { Id = 4, Name = "L2 04" }; var l2_05 = new Level2 { Id = 5, Name = "L2 05" }; var l2_06 = new Level2 { Id = 6, Name = "L2 06" }; var l2_07 = new Level2 { Id = 7, Name = "L2 07" }; var l2_08 = new Level2 { Id = 8, Name = "L2 08" }; var l2_09 = new Level2 { Id = 9, Name = "L2 09" }; var l2_10 = new Level2 { Id = 10, Name = "L2 10" }; var l3_01 = new Level3 { Id = 1, Name = "L3 01" }; var l3_02 = new Level3 { Id = 2, Name = "L3 02" }; var l3_03 = new Level3 { Id = 3, Name = "L3 03" }; var l3_04 = new Level3 { Id = 4, Name = "L3 04" }; var l3_05 = new Level3 { Id = 5, Name = "L3 05" }; var l3_06 = new Level3 { Id = 6, Name = "L3 06" }; var l3_07 = new Level3 { Id = 7, Name = "L3 07" }; var l3_08 = new Level3 { Id = 8, Name = "L3 08" }; var l3_09 = new Level3 { Id = 9, Name = "L3 09" }; var l3_10 = new Level3 { Id = 10, Name = "L3 10" }; var l4_01 = new Level4 { Id = 1, Name = "L4 01" }; var l4_02 = new Level4 { Id = 2, Name = "L4 02" }; var l4_03 = new Level4 { Id = 3, Name = "L4 03" }; var l4_04 = new Level4 { Id = 4, Name = "L4 04" }; var l4_05 = new Level4 { Id = 5, Name = "L4 05" }; var l4_06 = new Level4 { Id = 6, Name = "L4 06" }; var l4_07 = new Level4 { Id = 7, Name = "L4 07" }; var l4_08 = new Level4 { Id = 8, Name = "L4 08" }; var l4_09 = new Level4 { Id = 9, Name = "L4 09" }; var l4_10 = new Level4 { Id = 10, Name = "L4 10" }; var l1s = new[] { l1_01, l1_02, l1_03, l1_04, l1_05, l1_06, l1_07, l1_08, l1_09, l1_10 }; var l2s = new[] { l2_01, l2_02, l2_03, l2_04, l2_05, l2_06, l2_07, l2_08, l2_09, l2_10 }; var l3s = new[] { l3_01, l3_02, l3_03, l3_04, l3_05, l3_06, l3_07, l3_08, l3_09, l3_10 }; var l4s = new[] { l4_01, l4_02, l4_03, l4_04, l4_05, l4_06, l4_07, l4_08, l4_09, l4_10 }; context.LevelOne.AddRange(l1s); context.LevelTwo.AddRange(l2s); context.LevelThree.AddRange(l3s); context.LevelFour.AddRange(l4s); l1s[0].OneToOne_Required_PK = l2s[0]; l1s[1].OneToOne_Required_PK = l2s[1]; l1s[2].OneToOne_Required_PK = l2s[2]; l1s[3].OneToOne_Required_PK = l2s[3]; l1s[4].OneToOne_Required_PK = l2s[4]; l1s[5].OneToOne_Required_PK = l2s[5]; l1s[6].OneToOne_Required_PK = l2s[6]; l1s[7].OneToOne_Required_PK = l2s[7]; l1s[8].OneToOne_Required_PK = l2s[8]; l1s[9].OneToOne_Required_PK = l2s[9]; l1s[0].OneToOne_Required_FK = l2s[9]; l1s[1].OneToOne_Required_FK = l2s[8]; l1s[2].OneToOne_Required_FK = l2s[7]; l1s[3].OneToOne_Required_FK = l2s[6]; l1s[4].OneToOne_Required_FK = l2s[5]; l1s[5].OneToOne_Required_FK = l2s[4]; l1s[6].OneToOne_Required_FK = l2s[3]; l1s[7].OneToOne_Required_FK = l2s[2]; l1s[8].OneToOne_Required_FK = l2s[1]; l1s[9].OneToOne_Required_FK = l2s[0]; l1s[0].OneToMany_Required = new List <Level2> { l2s[0], l2s[1], l2s[2], l2s[3], l2s[4], l2s[5], l2s[6], l2s[7], l2s[8], l2s[9] }; l1s[0].OneToMany_Required_Self = new List <Level1> { l1s[0], l1s[1] }; l1s[1].OneToMany_Required_Self = new List <Level1> { l1s[2] }; l1s[2].OneToMany_Required_Self = new List <Level1> { l1s[3] }; l1s[3].OneToMany_Required_Self = new List <Level1> { l1s[4] }; l1s[4].OneToMany_Required_Self = new List <Level1> { l1s[5] }; l1s[5].OneToMany_Required_Self = new List <Level1> { l1s[6] }; l1s[6].OneToMany_Required_Self = new List <Level1> { l1s[7] }; l1s[7].OneToMany_Required_Self = new List <Level1> { l1s[8] }; l1s[8].OneToMany_Required_Self = new List <Level1> { l1s[9] }; l1s[9].OneToMany_Required_Self = new List <Level1>(); l2s[0].OneToOne_Required_PK = l3s[0]; l2s[1].OneToOne_Required_PK = l3s[1]; l2s[2].OneToOne_Required_PK = l3s[2]; l2s[3].OneToOne_Required_PK = l3s[3]; l2s[4].OneToOne_Required_PK = l3s[4]; l2s[5].OneToOne_Required_PK = l3s[5]; l2s[6].OneToOne_Required_PK = l3s[6]; l2s[7].OneToOne_Required_PK = l3s[7]; l2s[8].OneToOne_Required_PK = l3s[8]; l2s[9].OneToOne_Required_PK = l3s[9]; l2s[0].OneToOne_Required_FK = l3s[9]; l2s[1].OneToOne_Required_FK = l3s[8]; l2s[2].OneToOne_Required_FK = l3s[7]; l2s[3].OneToOne_Required_FK = l3s[6]; l2s[4].OneToOne_Required_FK = l3s[5]; l2s[5].OneToOne_Required_FK = l3s[4]; l2s[6].OneToOne_Required_FK = l3s[3]; l2s[7].OneToOne_Required_FK = l3s[2]; l2s[8].OneToOne_Required_FK = l3s[1]; l2s[9].OneToOne_Required_FK = l3s[0]; l2s[0].OneToMany_Required = new List <Level3> { l3s[0], l3s[1], l3s[2], l3s[3], l3s[4], l3s[5], l3s[6], l3s[7], l3s[8], l3s[9] }; l2s[0].OneToMany_Required_Self = new List <Level2> { l2s[0], l2s[1] }; l2s[1].OneToMany_Required_Self = new List <Level2> { l2s[2] }; l2s[2].OneToMany_Required_Self = new List <Level2> { l2s[3] }; l2s[3].OneToMany_Required_Self = new List <Level2> { l2s[4] }; l2s[4].OneToMany_Required_Self = new List <Level2> { l2s[5] }; l2s[5].OneToMany_Required_Self = new List <Level2> { l2s[6] }; l2s[6].OneToMany_Required_Self = new List <Level2> { l2s[7] }; l2s[7].OneToMany_Required_Self = new List <Level2> { l2s[8] }; l2s[8].OneToMany_Required_Self = new List <Level2> { l2s[9] }; l2s[9].OneToMany_Required_Self = new List <Level2>(); l3s[0].OneToOne_Required_PK = l4s[0]; l3s[1].OneToOne_Required_PK = l4s[1]; l3s[2].OneToOne_Required_PK = l4s[2]; l3s[3].OneToOne_Required_PK = l4s[3]; l3s[4].OneToOne_Required_PK = l4s[4]; l3s[5].OneToOne_Required_PK = l4s[5]; l3s[6].OneToOne_Required_PK = l4s[6]; l3s[7].OneToOne_Required_PK = l4s[7]; l3s[8].OneToOne_Required_PK = l4s[8]; l3s[9].OneToOne_Required_PK = l4s[9]; l3s[0].OneToOne_Required_FK = l4s[9]; l3s[1].OneToOne_Required_FK = l4s[8]; l3s[2].OneToOne_Required_FK = l4s[7]; l3s[3].OneToOne_Required_FK = l4s[6]; l3s[4].OneToOne_Required_FK = l4s[5]; l3s[5].OneToOne_Required_FK = l4s[4]; l3s[6].OneToOne_Required_FK = l4s[3]; l3s[7].OneToOne_Required_FK = l4s[2]; l3s[8].OneToOne_Required_FK = l4s[1]; l3s[9].OneToOne_Required_FK = l4s[0]; l3s[0].OneToMany_Required = new List <Level4> { l4s[0], l4s[1], l4s[2], l4s[3], l4s[4], l4s[5], l4s[6], l4s[7], l4s[8], l4s[9] }; l3s[0].OneToMany_Required_Self = new List <Level3> { l3s[0], l3s[1] }; l3s[1].OneToMany_Required_Self = new List <Level3> { l3s[2] }; l3s[2].OneToMany_Required_Self = new List <Level3> { l3s[3] }; l3s[3].OneToMany_Required_Self = new List <Level3> { l3s[4] }; l3s[4].OneToMany_Required_Self = new List <Level3> { l3s[5] }; l3s[5].OneToMany_Required_Self = new List <Level3> { l3s[6] }; l3s[6].OneToMany_Required_Self = new List <Level3> { l3s[7] }; l3s[7].OneToMany_Required_Self = new List <Level3> { l3s[8] }; l3s[8].OneToMany_Required_Self = new List <Level3> { l3s[9] }; l3s[9].OneToMany_Required_Self = new List <Level3>(); l4s[0].OneToMany_Required_Self = new List <Level4> { l4s[0], l4s[1] }; l4s[1].OneToMany_Required_Self = new List <Level4> { l4s[2] }; l4s[2].OneToMany_Required_Self = new List <Level4> { l4s[3] }; l4s[3].OneToMany_Required_Self = new List <Level4> { l4s[4] }; l4s[4].OneToMany_Required_Self = new List <Level4> { l4s[5] }; l4s[5].OneToMany_Required_Self = new List <Level4> { l4s[6] }; l4s[6].OneToMany_Required_Self = new List <Level4> { l4s[7] }; l4s[7].OneToMany_Required_Self = new List <Level4> { l4s[8] }; l4s[8].OneToMany_Required_Self = new List <Level4> { l4s[9] }; l4s[9].OneToMany_Required_Self = new List <Level4>(); context.SaveChanges(); l1s[0].OneToOne_Optional_PK = l2s[0]; l1s[2].OneToOne_Optional_PK = l2s[2]; l1s[4].OneToOne_Optional_PK = l2s[4]; l1s[6].OneToOne_Optional_PK = l2s[6]; l1s[8].OneToOne_Optional_PK = l2s[8]; l1s[1].OneToOne_Optional_FK = l2s[8]; l1s[3].OneToOne_Optional_FK = l2s[6]; l1s[5].OneToOne_Optional_FK = l2s[4]; l1s[7].OneToOne_Optional_FK = l2s[2]; l1s[9].OneToOne_Optional_FK = l2s[0]; l1s[0].OneToMany_Optional = new List <Level2> { l2s[1], l2s[3], l2s[5], l2s[7], l2s[9] }; l1s[1].OneToMany_Optional_Self = new List <Level1> { l1s[0] }; l1s[3].OneToMany_Optional_Self = new List <Level1> { l1s[2] }; l1s[5].OneToMany_Optional_Self = new List <Level1> { l1s[4] }; l1s[7].OneToMany_Optional_Self = new List <Level1> { l1s[6] }; l1s[9].OneToMany_Optional_Self = new List <Level1> { l1s[8] }; // issue #1417 //l1s[0].OneToOne_Optional_Self = l1s[9]; //l1s[1].OneToOne_Optional_Self = l1s[8]; //l1s[2].OneToOne_Optional_Self = l1s[7]; //l1s[3].OneToOne_Optional_Self = l1s[6]; //l1s[4].OneToOne_Optional_Self = l1s[5]; l2s[0].OneToOne_Optional_PK = l3s[0]; l2s[2].OneToOne_Optional_PK = l3s[2]; l2s[4].OneToOne_Optional_PK = l3s[4]; l2s[6].OneToOne_Optional_PK = l3s[6]; l2s[8].OneToOne_Optional_PK = l3s[8]; l2s[1].OneToOne_Optional_FK = l3s[8]; l2s[3].OneToOne_Optional_FK = l3s[6]; l2s[5].OneToOne_Optional_FK = l3s[4]; l2s[7].OneToOne_Optional_FK = l3s[2]; l2s[9].OneToOne_Optional_FK = l3s[0]; l2s[0].OneToMany_Optional = new List <Level3> { l3s[1], l3s[5], l3s[9] }; l2s[1].OneToMany_Optional = new List <Level3> { l3s[3], l3s[7] }; l2s[1].OneToMany_Optional_Self = new List <Level2> { l2s[0] }; l2s[3].OneToMany_Optional_Self = new List <Level2> { l2s[2] }; l2s[5].OneToMany_Optional_Self = new List <Level2> { l2s[4] }; l2s[7].OneToMany_Optional_Self = new List <Level2> { l2s[6] }; l2s[9].OneToMany_Optional_Self = new List <Level2> { l2s[8] }; // issue #1417 //l2s[0].OneToOne_Optional_Self = l2s[9]; //l2s[1].OneToOne_Optional_Self = l2s[8]; //l2s[2].OneToOne_Optional_Self = l2s[7]; //l2s[3].OneToOne_Optional_Self = l2s[6]; //l2s[4].OneToOne_Optional_Self = l2s[5]; l3s[0].OneToOne_Optional_PK = l4s[0]; l3s[2].OneToOne_Optional_PK = l4s[2]; l3s[4].OneToOne_Optional_PK = l4s[4]; l3s[6].OneToOne_Optional_PK = l4s[6]; l3s[8].OneToOne_Optional_PK = l4s[8]; l3s[1].OneToOne_Optional_FK = l4s[8]; l3s[3].OneToOne_Optional_FK = l4s[6]; l3s[5].OneToOne_Optional_FK = l4s[4]; l3s[7].OneToOne_Optional_FK = l4s[2]; l3s[9].OneToOne_Optional_FK = l4s[0]; l3s[0].OneToMany_Optional = new List <Level4> { l4s[1], l4s[3], l4s[5], l4s[7], l4s[9] }; l3s[1].OneToMany_Optional_Self = new List <Level3> { l3s[0] }; l3s[3].OneToMany_Optional_Self = new List <Level3> { l3s[2] }; l3s[5].OneToMany_Optional_Self = new List <Level3> { l3s[4] }; l3s[7].OneToMany_Optional_Self = new List <Level3> { l3s[6] }; l3s[9].OneToMany_Optional_Self = new List <Level3> { l3s[8] }; // issue #1417 //l3s[0].OneToOne_Optional_Self = l3s[9]; //l3s[1].OneToOne_Optional_Self = l3s[8]; //l3s[2].OneToOne_Optional_Self = l3s[7]; //l3s[3].OneToOne_Optional_Self = l3s[6]; //l3s[4].OneToOne_Optional_Self = l3s[5]; l4s[1].OneToMany_Optional_Self = new List <Level4> { l4s[0] }; l4s[3].OneToMany_Optional_Self = new List <Level4> { l4s[2] }; l4s[5].OneToMany_Optional_Self = new List <Level4> { l4s[4] }; l4s[7].OneToMany_Optional_Self = new List <Level4> { l4s[6] }; l4s[9].OneToMany_Optional_Self = new List <Level4> { l4s[8] }; context.SaveChanges(); for (int i = 0; i < 10; i++) { var language = new ComplexNavigationLanguage { Name = "Language" + i, CultureString = "Foo" + i }; context.Languages.Add(language); } context.SaveChanges(); int ii = 0; foreach (var l in context.Languages) { var globalization = new ComplexNavigationGlobalization { Text = "Globalization" + ii, Language = l }; ii++; context.Globalizations.Add(globalization); } context.SaveChanges(); var globalizations = context.Globalizations.ToList(); var mls1 = new ComplexNavigationString { DefaultText = "MLS1", Globalizations = globalizations.Take(3).ToList() }; var mls2 = new ComplexNavigationString { DefaultText = "MLS2", Globalizations = globalizations.Skip(3).Take(3).ToList() }; var mls3 = new ComplexNavigationString { DefaultText = "MLS3", Globalizations = globalizations.Skip(6).Take(3).ToList() }; var mls4 = new ComplexNavigationString { DefaultText = "MLS4", Globalizations = globalizations.Skip(9).ToList() }; context.MultilingualStrings.AddRange(new[] { mls1, mls2, mls3, mls4 }); context.SaveChanges(); var field1 = new ComplexNavigationField { Name = "Field1", Label = mls1, Placeholder = null }; var field2 = new ComplexNavigationField { Name = "Field2", Label = mls3, Placeholder = mls4 }; context.Fields.AddRange(new[] { field1, field2 }); context.SaveChanges(); } }
public static void Seed(ComplexNavigationsContext context) { // TODO: only delete if model has changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { var l1_01 = new Level1 { Id = 1, Name = "L1 01" }; var l1_02 = new Level1 { Id = 2, Name = "L1 02" }; var l1_03 = new Level1 { Id = 3, Name = "L1 03" }; var l1_04 = new Level1 { Id = 4, Name = "L1 04" }; var l1_05 = new Level1 { Id = 5, Name = "L1 05" }; var l1_06 = new Level1 { Id = 6, Name = "L1 06" }; var l1_07 = new Level1 { Id = 7, Name = "L1 07" }; var l1_08 = new Level1 { Id = 8, Name = "L1 08" }; var l1_09 = new Level1 { Id = 9, Name = "L1 09" }; var l1_10 = new Level1 { Id = 10, Name = "L1 10" }; var l2_01 = new Level2 { Id = 1, Name = "L2 01" }; var l2_02 = new Level2 { Id = 2, Name = "L2 02" }; var l2_03 = new Level2 { Id = 3, Name = "L2 03" }; var l2_04 = new Level2 { Id = 4, Name = "L2 04" }; var l2_05 = new Level2 { Id = 5, Name = "L2 05" }; var l2_06 = new Level2 { Id = 6, Name = "L2 06" }; var l2_07 = new Level2 { Id = 7, Name = "L2 07" }; var l2_08 = new Level2 { Id = 8, Name = "L2 08" }; var l2_09 = new Level2 { Id = 9, Name = "L2 09" }; var l2_10 = new Level2 { Id = 10, Name = "L2 10" }; var l3_01 = new Level3 { Id = 1, Name = "L3 01" }; var l3_02 = new Level3 { Id = 2, Name = "L3 02" }; var l3_03 = new Level3 { Id = 3, Name = "L3 03" }; var l3_04 = new Level3 { Id = 4, Name = "L3 04" }; var l3_05 = new Level3 { Id = 5, Name = "L3 05" }; var l3_06 = new Level3 { Id = 6, Name = "L3 06" }; var l3_07 = new Level3 { Id = 7, Name = "L3 07" }; var l3_08 = new Level3 { Id = 8, Name = "L3 08" }; var l3_09 = new Level3 { Id = 9, Name = "L3 09" }; var l3_10 = new Level3 { Id = 10, Name = "L3 10" }; var l4_01 = new Level4 { Id = 1, Name = "L4 01" }; var l4_02 = new Level4 { Id = 2, Name = "L4 02" }; var l4_03 = new Level4 { Id = 3, Name = "L4 03" }; var l4_04 = new Level4 { Id = 4, Name = "L4 04" }; var l4_05 = new Level4 { Id = 5, Name = "L4 05" }; var l4_06 = new Level4 { Id = 6, Name = "L4 06" }; var l4_07 = new Level4 { Id = 7, Name = "L4 07" }; var l4_08 = new Level4 { Id = 8, Name = "L4 08" }; var l4_09 = new Level4 { Id = 9, Name = "L4 09" }; var l4_10 = new Level4 { Id = 10, Name = "L4 10" }; var l1s = new[] { l1_01, l1_02, l1_03, l1_04, l1_05, l1_06, l1_07, l1_08, l1_09, l1_10 }; var l2s = new[] { l2_01, l2_02, l2_03, l2_04, l2_05, l2_06, l2_07, l2_08, l2_09, l2_10 }; var l3s = new[] { l3_01, l3_02, l3_03, l3_04, l3_05, l3_06, l3_07, l3_08, l3_09, l3_10 }; var l4s = new[] { l4_01, l4_02, l4_03, l4_04, l4_05, l4_06, l4_07, l4_08, l4_09, l4_10 }; context.LevelOne.AddRange(l1s); context.LevelTwo.AddRange(l2s); context.LevelThree.AddRange(l3s); context.LevelFour.AddRange(l4s); l1s[0].OneToOne_Required_PK = l2s[0]; l1s[1].OneToOne_Required_PK = l2s[1]; l1s[2].OneToOne_Required_PK = l2s[2]; l1s[3].OneToOne_Required_PK = l2s[3]; l1s[4].OneToOne_Required_PK = l2s[4]; l1s[5].OneToOne_Required_PK = l2s[5]; l1s[6].OneToOne_Required_PK = l2s[6]; l1s[7].OneToOne_Required_PK = l2s[7]; l1s[8].OneToOne_Required_PK = l2s[8]; l1s[9].OneToOne_Required_PK = l2s[9]; l1s[0].OneToOne_Required_FK = l2s[9]; l1s[1].OneToOne_Required_FK = l2s[8]; l1s[2].OneToOne_Required_FK = l2s[7]; l1s[3].OneToOne_Required_FK = l2s[6]; l1s[4].OneToOne_Required_FK = l2s[5]; l1s[5].OneToOne_Required_FK = l2s[4]; l1s[6].OneToOne_Required_FK = l2s[3]; l1s[7].OneToOne_Required_FK = l2s[2]; l1s[8].OneToOne_Required_FK = l2s[1]; l1s[9].OneToOne_Required_FK = l2s[0]; l1s[0].OneToMany_Required = new List<Level2> { l2s[0], l2s[1], l2s[2], l2s[3], l2s[4], l2s[5], l2s[6], l2s[7], l2s[8], l2s[9] }; l1s[0].OneToMany_Required_Self = new List<Level1> { l1s[0], l1s[1] }; l1s[1].OneToMany_Required_Self = new List<Level1> { l1s[2] }; l1s[2].OneToMany_Required_Self = new List<Level1> { l1s[3] }; l1s[3].OneToMany_Required_Self = new List<Level1> { l1s[4] }; l1s[4].OneToMany_Required_Self = new List<Level1> { l1s[5] }; l1s[5].OneToMany_Required_Self = new List<Level1> { l1s[6] }; l1s[6].OneToMany_Required_Self = new List<Level1> { l1s[7] }; l1s[7].OneToMany_Required_Self = new List<Level1> { l1s[8] }; l1s[8].OneToMany_Required_Self = new List<Level1> { l1s[9] }; l1s[9].OneToMany_Required_Self = new List<Level1>(); l2s[0].OneToOne_Required_PK = l3s[0]; l2s[1].OneToOne_Required_PK = l3s[1]; l2s[2].OneToOne_Required_PK = l3s[2]; l2s[3].OneToOne_Required_PK = l3s[3]; l2s[4].OneToOne_Required_PK = l3s[4]; l2s[5].OneToOne_Required_PK = l3s[5]; l2s[6].OneToOne_Required_PK = l3s[6]; l2s[7].OneToOne_Required_PK = l3s[7]; l2s[8].OneToOne_Required_PK = l3s[8]; l2s[9].OneToOne_Required_PK = l3s[9]; l2s[0].OneToOne_Required_FK = l3s[9]; l2s[1].OneToOne_Required_FK = l3s[8]; l2s[2].OneToOne_Required_FK = l3s[7]; l2s[3].OneToOne_Required_FK = l3s[6]; l2s[4].OneToOne_Required_FK = l3s[5]; l2s[5].OneToOne_Required_FK = l3s[4]; l2s[6].OneToOne_Required_FK = l3s[3]; l2s[7].OneToOne_Required_FK = l3s[2]; l2s[8].OneToOne_Required_FK = l3s[1]; l2s[9].OneToOne_Required_FK = l3s[0]; l2s[0].OneToMany_Required = new List<Level3> { l3s[0], l3s[1], l3s[2], l3s[3], l3s[4], l3s[5], l3s[6], l3s[7], l3s[8], l3s[9] }; l2s[0].OneToMany_Required_Self = new List<Level2> { l2s[0], l2s[1] }; l2s[1].OneToMany_Required_Self = new List<Level2> { l2s[2] }; l2s[2].OneToMany_Required_Self = new List<Level2> { l2s[3] }; l2s[3].OneToMany_Required_Self = new List<Level2> { l2s[4] }; l2s[4].OneToMany_Required_Self = new List<Level2> { l2s[5] }; l2s[5].OneToMany_Required_Self = new List<Level2> { l2s[6] }; l2s[6].OneToMany_Required_Self = new List<Level2> { l2s[7] }; l2s[7].OneToMany_Required_Self = new List<Level2> { l2s[8] }; l2s[8].OneToMany_Required_Self = new List<Level2> { l2s[9] }; l2s[9].OneToMany_Required_Self = new List<Level2>(); l3s[0].OneToOne_Required_PK = l4s[0]; l3s[1].OneToOne_Required_PK = l4s[1]; l3s[2].OneToOne_Required_PK = l4s[2]; l3s[3].OneToOne_Required_PK = l4s[3]; l3s[4].OneToOne_Required_PK = l4s[4]; l3s[5].OneToOne_Required_PK = l4s[5]; l3s[6].OneToOne_Required_PK = l4s[6]; l3s[7].OneToOne_Required_PK = l4s[7]; l3s[8].OneToOne_Required_PK = l4s[8]; l3s[9].OneToOne_Required_PK = l4s[9]; l3s[0].OneToOne_Required_FK = l4s[9]; l3s[1].OneToOne_Required_FK = l4s[8]; l3s[2].OneToOne_Required_FK = l4s[7]; l3s[3].OneToOne_Required_FK = l4s[6]; l3s[4].OneToOne_Required_FK = l4s[5]; l3s[5].OneToOne_Required_FK = l4s[4]; l3s[6].OneToOne_Required_FK = l4s[3]; l3s[7].OneToOne_Required_FK = l4s[2]; l3s[8].OneToOne_Required_FK = l4s[1]; l3s[9].OneToOne_Required_FK = l4s[0]; l3s[0].OneToMany_Required = new List<Level4> { l4s[0], l4s[1], l4s[2], l4s[3], l4s[4], l4s[5], l4s[6], l4s[7], l4s[8], l4s[9] }; l3s[0].OneToMany_Required_Self = new List<Level3> { l3s[0], l3s[1] }; l3s[1].OneToMany_Required_Self = new List<Level3> { l3s[2] }; l3s[2].OneToMany_Required_Self = new List<Level3> { l3s[3] }; l3s[3].OneToMany_Required_Self = new List<Level3> { l3s[4] }; l3s[4].OneToMany_Required_Self = new List<Level3> { l3s[5] }; l3s[5].OneToMany_Required_Self = new List<Level3> { l3s[6] }; l3s[6].OneToMany_Required_Self = new List<Level3> { l3s[7] }; l3s[7].OneToMany_Required_Self = new List<Level3> { l3s[8] }; l3s[8].OneToMany_Required_Self = new List<Level3> { l3s[9] }; l3s[9].OneToMany_Required_Self = new List<Level3>(); l4s[0].OneToMany_Required_Self = new List<Level4> { l4s[0], l4s[1] }; l4s[1].OneToMany_Required_Self = new List<Level4> { l4s[2] }; l4s[2].OneToMany_Required_Self = new List<Level4> { l4s[3] }; l4s[3].OneToMany_Required_Self = new List<Level4> { l4s[4] }; l4s[4].OneToMany_Required_Self = new List<Level4> { l4s[5] }; l4s[5].OneToMany_Required_Self = new List<Level4> { l4s[6] }; l4s[6].OneToMany_Required_Self = new List<Level4> { l4s[7] }; l4s[7].OneToMany_Required_Self = new List<Level4> { l4s[8] }; l4s[8].OneToMany_Required_Self = new List<Level4> { l4s[9] }; l4s[9].OneToMany_Required_Self = new List<Level4>(); context.SaveChanges(); l1s[0].OneToOne_Optional_PK = l2s[0]; l1s[2].OneToOne_Optional_PK = l2s[2]; l1s[4].OneToOne_Optional_PK = l2s[4]; l1s[6].OneToOne_Optional_PK = l2s[6]; l1s[8].OneToOne_Optional_PK = l2s[8]; l1s[1].OneToOne_Optional_FK = l2s[8]; l1s[3].OneToOne_Optional_FK = l2s[6]; l1s[5].OneToOne_Optional_FK = l2s[4]; l1s[7].OneToOne_Optional_FK = l2s[2]; l1s[9].OneToOne_Optional_FK = l2s[0]; l1s[0].OneToMany_Optional = new List<Level2> { l2s[1], l2s[3], l2s[5], l2s[7], l2s[9] }; l1s[1].OneToMany_Optional_Self = new List<Level1> { l1s[0] }; l1s[3].OneToMany_Optional_Self = new List<Level1> { l1s[2] }; l1s[5].OneToMany_Optional_Self = new List<Level1> { l1s[4] }; l1s[7].OneToMany_Optional_Self = new List<Level1> { l1s[6] }; l1s[9].OneToMany_Optional_Self = new List<Level1> { l1s[8] }; // issue #1417 //l1s[0].OneToOne_Optional_Self = l1s[9]; //l1s[1].OneToOne_Optional_Self = l1s[8]; //l1s[2].OneToOne_Optional_Self = l1s[7]; //l1s[3].OneToOne_Optional_Self = l1s[6]; //l1s[4].OneToOne_Optional_Self = l1s[5]; l2s[0].OneToOne_Optional_PK = l3s[0]; l2s[2].OneToOne_Optional_PK = l3s[2]; l2s[4].OneToOne_Optional_PK = l3s[4]; l2s[6].OneToOne_Optional_PK = l3s[6]; l2s[8].OneToOne_Optional_PK = l3s[8]; l2s[1].OneToOne_Optional_FK = l3s[8]; l2s[3].OneToOne_Optional_FK = l3s[6]; l2s[5].OneToOne_Optional_FK = l3s[4]; l2s[7].OneToOne_Optional_FK = l3s[2]; l2s[9].OneToOne_Optional_FK = l3s[0]; l2s[0].OneToMany_Optional = new List<Level3> { l3s[1], l3s[5], l3s[9] }; l2s[1].OneToMany_Optional = new List<Level3> { l3s[3], l3s[7] }; l2s[1].OneToMany_Optional_Self = new List<Level2> { l2s[0] }; l2s[3].OneToMany_Optional_Self = new List<Level2> { l2s[2] }; l2s[5].OneToMany_Optional_Self = new List<Level2> { l2s[4] }; l2s[7].OneToMany_Optional_Self = new List<Level2> { l2s[6] }; l2s[9].OneToMany_Optional_Self = new List<Level2> { l2s[8] }; // issue #1417 //l2s[0].OneToOne_Optional_Self = l2s[9]; //l2s[1].OneToOne_Optional_Self = l2s[8]; //l2s[2].OneToOne_Optional_Self = l2s[7]; //l2s[3].OneToOne_Optional_Self = l2s[6]; //l2s[4].OneToOne_Optional_Self = l2s[5]; l3s[0].OneToOne_Optional_PK = l4s[0]; l3s[2].OneToOne_Optional_PK = l4s[2]; l3s[4].OneToOne_Optional_PK = l4s[4]; l3s[6].OneToOne_Optional_PK = l4s[6]; l3s[8].OneToOne_Optional_PK = l4s[8]; l3s[1].OneToOne_Optional_FK = l4s[8]; l3s[3].OneToOne_Optional_FK = l4s[6]; l3s[5].OneToOne_Optional_FK = l4s[4]; l3s[7].OneToOne_Optional_FK = l4s[2]; l3s[9].OneToOne_Optional_FK = l4s[0]; l3s[0].OneToMany_Optional = new List<Level4> { l4s[1], l4s[3], l4s[5], l4s[7], l4s[9] }; l3s[1].OneToMany_Optional_Self = new List<Level3> { l3s[0] }; l3s[3].OneToMany_Optional_Self = new List<Level3> { l3s[2] }; l3s[5].OneToMany_Optional_Self = new List<Level3> { l3s[4] }; l3s[7].OneToMany_Optional_Self = new List<Level3> { l3s[6] }; l3s[9].OneToMany_Optional_Self = new List<Level3> { l3s[8] }; // issue #1417 //l3s[0].OneToOne_Optional_Self = l3s[9]; //l3s[1].OneToOne_Optional_Self = l3s[8]; //l3s[2].OneToOne_Optional_Self = l3s[7]; //l3s[3].OneToOne_Optional_Self = l3s[6]; //l3s[4].OneToOne_Optional_Self = l3s[5]; l4s[1].OneToMany_Optional_Self = new List<Level4> { l4s[0] }; l4s[3].OneToMany_Optional_Self = new List<Level4> { l4s[2] }; l4s[5].OneToMany_Optional_Self = new List<Level4> { l4s[4] }; l4s[7].OneToMany_Optional_Self = new List<Level4> { l4s[6] }; l4s[9].OneToMany_Optional_Self = new List<Level4> { l4s[8] }; context.SaveChanges(); } }
public static void Seed(ComplexNavigationsContext context) { // TODO: only delete if model has changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { var l1_01 = new Level1 { Id = 1, Name = "L1 01" }; var l1_02 = new Level1 { Id = 2, Name = "L1 02" }; var l1_03 = new Level1 { Id = 3, Name = "L1 03" }; var l1_04 = new Level1 { Id = 4, Name = "L1 04" }; var l1_05 = new Level1 { Id = 5, Name = "L1 05" }; var l1_06 = new Level1 { Id = 6, Name = "L1 06" }; var l1_07 = new Level1 { Id = 7, Name = "L1 07" }; var l1_08 = new Level1 { Id = 8, Name = "L1 08" }; var l1_09 = new Level1 { Id = 9, Name = "L1 09" }; var l1_10 = new Level1 { Id = 10, Name = "L1 10" }; var l2_01 = new Level2 { Id = 1, Name = "L2 01" }; var l2_02 = new Level2 { Id = 2, Name = "L2 02" }; var l2_03 = new Level2 { Id = 3, Name = "L2 03" }; var l2_04 = new Level2 { Id = 4, Name = "L2 04" }; var l2_05 = new Level2 { Id = 5, Name = "L2 05" }; var l2_06 = new Level2 { Id = 6, Name = "L2 06" }; var l2_07 = new Level2 { Id = 7, Name = "L2 07" }; var l2_08 = new Level2 { Id = 8, Name = "L2 08" }; var l2_09 = new Level2 { Id = 9, Name = "L2 09" }; var l2_10 = new Level2 { Id = 10, Name = "L2 10" }; var l3_01 = new Level3 { Id = 1, Name = "L3 01" }; var l3_02 = new Level3 { Id = 2, Name = "L3 02" }; var l3_03 = new Level3 { Id = 3, Name = "L3 03" }; var l3_04 = new Level3 { Id = 4, Name = "L3 04" }; var l3_05 = new Level3 { Id = 5, Name = "L3 05" }; var l3_06 = new Level3 { Id = 6, Name = "L3 06" }; var l3_07 = new Level3 { Id = 7, Name = "L3 07" }; var l3_08 = new Level3 { Id = 8, Name = "L3 08" }; var l3_09 = new Level3 { Id = 9, Name = "L3 09" }; var l3_10 = new Level3 { Id = 10, Name = "L3 10" }; var l4_01 = new Level4 { Id = 1, Name = "L4 01" }; var l4_02 = new Level4 { Id = 2, Name = "L4 02" }; var l4_03 = new Level4 { Id = 3, Name = "L4 03" }; var l4_04 = new Level4 { Id = 4, Name = "L4 04" }; var l4_05 = new Level4 { Id = 5, Name = "L4 05" }; var l4_06 = new Level4 { Id = 6, Name = "L4 06" }; var l4_07 = new Level4 { Id = 7, Name = "L4 07" }; var l4_08 = new Level4 { Id = 8, Name = "L4 08" }; var l4_09 = new Level4 { Id = 9, Name = "L4 09" }; var l4_10 = new Level4 { Id = 10, Name = "L4 10" }; var l1s = new[] { l1_01, l1_02, l1_03, l1_04, l1_05, l1_06, l1_07, l1_08, l1_09, l1_10 }; var l2s = new[] { l2_01, l2_02, l2_03, l2_04, l2_05, l2_06, l2_07, l2_08, l2_09, l2_10 }; var l3s = new[] { l3_01, l3_02, l3_03, l3_04, l3_05, l3_06, l3_07, l3_08, l3_09, l3_10 }; var l4s = new[] { l4_01, l4_02, l4_03, l4_04, l4_05, l4_06, l4_07, l4_08, l4_09, l4_10 }; context.LevelOne.AddRange(l1s); context.LevelTwo.AddRange(l2s); context.LevelThree.AddRange(l3s); context.LevelFour.AddRange(l4s); l1s[0].OneToOne_Required_PK = l2s[0]; l1s[1].OneToOne_Required_PK = l2s[1]; l1s[2].OneToOne_Required_PK = l2s[2]; l1s[3].OneToOne_Required_PK = l2s[3]; l1s[4].OneToOne_Required_PK = l2s[4]; l1s[5].OneToOne_Required_PK = l2s[5]; l1s[6].OneToOne_Required_PK = l2s[6]; l1s[7].OneToOne_Required_PK = l2s[7]; l1s[8].OneToOne_Required_PK = l2s[8]; l1s[9].OneToOne_Required_PK = l2s[9]; l1s[0].OneToOne_Required_FK = l2s[9]; l1s[1].OneToOne_Required_FK = l2s[8]; l1s[2].OneToOne_Required_FK = l2s[7]; l1s[3].OneToOne_Required_FK = l2s[6]; l1s[4].OneToOne_Required_FK = l2s[5]; l1s[5].OneToOne_Required_FK = l2s[4]; l1s[6].OneToOne_Required_FK = l2s[3]; l1s[7].OneToOne_Required_FK = l2s[2]; l1s[8].OneToOne_Required_FK = l2s[1]; l1s[9].OneToOne_Required_FK = l2s[0]; l1s[0].OneToMany_Required = new List <Level2> { l2s[0], l2s[1], l2s[2], l2s[3], l2s[4], l2s[5], l2s[6], l2s[7], l2s[8], l2s[9] }; l1s[0].OneToMany_Required_Self = new List <Level1> { l1s[0], l1s[1] }; l1s[1].OneToMany_Required_Self = new List <Level1> { l1s[2] }; l1s[2].OneToMany_Required_Self = new List <Level1> { l1s[3] }; l1s[3].OneToMany_Required_Self = new List <Level1> { l1s[4] }; l1s[4].OneToMany_Required_Self = new List <Level1> { l1s[5] }; l1s[5].OneToMany_Required_Self = new List <Level1> { l1s[6] }; l1s[6].OneToMany_Required_Self = new List <Level1> { l1s[7] }; l1s[7].OneToMany_Required_Self = new List <Level1> { l1s[8] }; l1s[8].OneToMany_Required_Self = new List <Level1> { l1s[9] }; l1s[9].OneToMany_Required_Self = new List <Level1>(); l2s[0].OneToOne_Required_PK = l3s[0]; l2s[1].OneToOne_Required_PK = l3s[1]; l2s[2].OneToOne_Required_PK = l3s[2]; l2s[3].OneToOne_Required_PK = l3s[3]; l2s[4].OneToOne_Required_PK = l3s[4]; l2s[5].OneToOne_Required_PK = l3s[5]; l2s[6].OneToOne_Required_PK = l3s[6]; l2s[7].OneToOne_Required_PK = l3s[7]; l2s[8].OneToOne_Required_PK = l3s[8]; l2s[9].OneToOne_Required_PK = l3s[9]; l2s[0].OneToOne_Required_FK = l3s[9]; l2s[1].OneToOne_Required_FK = l3s[8]; l2s[2].OneToOne_Required_FK = l3s[7]; l2s[3].OneToOne_Required_FK = l3s[6]; l2s[4].OneToOne_Required_FK = l3s[5]; l2s[5].OneToOne_Required_FK = l3s[4]; l2s[6].OneToOne_Required_FK = l3s[3]; l2s[7].OneToOne_Required_FK = l3s[2]; l2s[8].OneToOne_Required_FK = l3s[1]; l2s[9].OneToOne_Required_FK = l3s[0]; l2s[0].OneToMany_Required = new List <Level3> { l3s[0], l3s[1], l3s[2], l3s[3], l3s[4], l3s[5], l3s[6], l3s[7], l3s[8], l3s[9] }; l2s[0].OneToMany_Required_Self = new List <Level2> { l2s[0], l2s[1] }; l2s[1].OneToMany_Required_Self = new List <Level2> { l2s[2] }; l2s[2].OneToMany_Required_Self = new List <Level2> { l2s[3] }; l2s[3].OneToMany_Required_Self = new List <Level2> { l2s[4] }; l2s[4].OneToMany_Required_Self = new List <Level2> { l2s[5] }; l2s[5].OneToMany_Required_Self = new List <Level2> { l2s[6] }; l2s[6].OneToMany_Required_Self = new List <Level2> { l2s[7] }; l2s[7].OneToMany_Required_Self = new List <Level2> { l2s[8] }; l2s[8].OneToMany_Required_Self = new List <Level2> { l2s[9] }; l2s[9].OneToMany_Required_Self = new List <Level2>(); l3s[0].OneToOne_Required_PK = l4s[0]; l3s[1].OneToOne_Required_PK = l4s[1]; l3s[2].OneToOne_Required_PK = l4s[2]; l3s[3].OneToOne_Required_PK = l4s[3]; l3s[4].OneToOne_Required_PK = l4s[4]; l3s[5].OneToOne_Required_PK = l4s[5]; l3s[6].OneToOne_Required_PK = l4s[6]; l3s[7].OneToOne_Required_PK = l4s[7]; l3s[8].OneToOne_Required_PK = l4s[8]; l3s[9].OneToOne_Required_PK = l4s[9]; l3s[0].OneToOne_Required_FK = l4s[9]; l3s[1].OneToOne_Required_FK = l4s[8]; l3s[2].OneToOne_Required_FK = l4s[7]; l3s[3].OneToOne_Required_FK = l4s[6]; l3s[4].OneToOne_Required_FK = l4s[5]; l3s[5].OneToOne_Required_FK = l4s[4]; l3s[6].OneToOne_Required_FK = l4s[3]; l3s[7].OneToOne_Required_FK = l4s[2]; l3s[8].OneToOne_Required_FK = l4s[1]; l3s[9].OneToOne_Required_FK = l4s[0]; l3s[0].OneToMany_Required = new List <Level4> { l4s[0], l4s[1], l4s[2], l4s[3], l4s[4], l4s[5], l4s[6], l4s[7], l4s[8], l4s[9] }; l3s[0].OneToMany_Required_Self = new List <Level3> { l3s[0], l3s[1] }; l3s[1].OneToMany_Required_Self = new List <Level3> { l3s[2] }; l3s[2].OneToMany_Required_Self = new List <Level3> { l3s[3] }; l3s[3].OneToMany_Required_Self = new List <Level3> { l3s[4] }; l3s[4].OneToMany_Required_Self = new List <Level3> { l3s[5] }; l3s[5].OneToMany_Required_Self = new List <Level3> { l3s[6] }; l3s[6].OneToMany_Required_Self = new List <Level3> { l3s[7] }; l3s[7].OneToMany_Required_Self = new List <Level3> { l3s[8] }; l3s[8].OneToMany_Required_Self = new List <Level3> { l3s[9] }; l3s[9].OneToMany_Required_Self = new List <Level3>(); l4s[0].OneToMany_Required_Self = new List <Level4> { l4s[0], l4s[1] }; l4s[1].OneToMany_Required_Self = new List <Level4> { l4s[2] }; l4s[2].OneToMany_Required_Self = new List <Level4> { l4s[3] }; l4s[3].OneToMany_Required_Self = new List <Level4> { l4s[4] }; l4s[4].OneToMany_Required_Self = new List <Level4> { l4s[5] }; l4s[5].OneToMany_Required_Self = new List <Level4> { l4s[6] }; l4s[6].OneToMany_Required_Self = new List <Level4> { l4s[7] }; l4s[7].OneToMany_Required_Self = new List <Level4> { l4s[8] }; l4s[8].OneToMany_Required_Self = new List <Level4> { l4s[9] }; l4s[9].OneToMany_Required_Self = new List <Level4>(); context.SaveChanges(); l1s[0].OneToOne_Optional_PK = l2s[0]; l1s[2].OneToOne_Optional_PK = l2s[2]; l1s[4].OneToOne_Optional_PK = l2s[4]; l1s[6].OneToOne_Optional_PK = l2s[6]; l1s[8].OneToOne_Optional_PK = l2s[8]; l1s[1].OneToOne_Optional_FK = l2s[8]; l1s[3].OneToOne_Optional_FK = l2s[6]; l1s[5].OneToOne_Optional_FK = l2s[4]; l1s[7].OneToOne_Optional_FK = l2s[2]; l1s[9].OneToOne_Optional_FK = l2s[0]; l1s[0].OneToMany_Optional = new List <Level2> { l2s[1], l2s[3], l2s[5], l2s[7], l2s[9] }; l1s[1].OneToMany_Optional_Self = new List <Level1> { l1s[0] }; l1s[3].OneToMany_Optional_Self = new List <Level1> { l1s[2] }; l1s[5].OneToMany_Optional_Self = new List <Level1> { l1s[4] }; l1s[7].OneToMany_Optional_Self = new List <Level1> { l1s[6] }; l1s[9].OneToMany_Optional_Self = new List <Level1> { l1s[8] }; // issue #1417 //l1s[0].OneToOne_Optional_Self = l1s[9]; //l1s[1].OneToOne_Optional_Self = l1s[8]; //l1s[2].OneToOne_Optional_Self = l1s[7]; //l1s[3].OneToOne_Optional_Self = l1s[6]; //l1s[4].OneToOne_Optional_Self = l1s[5]; l2s[0].OneToOne_Optional_PK = l3s[0]; l2s[2].OneToOne_Optional_PK = l3s[2]; l2s[4].OneToOne_Optional_PK = l3s[4]; l2s[6].OneToOne_Optional_PK = l3s[6]; l2s[8].OneToOne_Optional_PK = l3s[8]; l2s[1].OneToOne_Optional_FK = l3s[8]; l2s[3].OneToOne_Optional_FK = l3s[6]; l2s[5].OneToOne_Optional_FK = l3s[4]; l2s[7].OneToOne_Optional_FK = l3s[2]; l2s[9].OneToOne_Optional_FK = l3s[0]; l2s[0].OneToMany_Optional = new List <Level3> { l3s[1], l3s[5], l3s[9] }; l2s[1].OneToMany_Optional = new List <Level3> { l3s[3], l3s[7] }; l2s[1].OneToMany_Optional_Self = new List <Level2> { l2s[0] }; l2s[3].OneToMany_Optional_Self = new List <Level2> { l2s[2] }; l2s[5].OneToMany_Optional_Self = new List <Level2> { l2s[4] }; l2s[7].OneToMany_Optional_Self = new List <Level2> { l2s[6] }; l2s[9].OneToMany_Optional_Self = new List <Level2> { l2s[8] }; // issue #1417 //l2s[0].OneToOne_Optional_Self = l2s[9]; //l2s[1].OneToOne_Optional_Self = l2s[8]; //l2s[2].OneToOne_Optional_Self = l2s[7]; //l2s[3].OneToOne_Optional_Self = l2s[6]; //l2s[4].OneToOne_Optional_Self = l2s[5]; l3s[0].OneToOne_Optional_PK = l4s[0]; l3s[2].OneToOne_Optional_PK = l4s[2]; l3s[4].OneToOne_Optional_PK = l4s[4]; l3s[6].OneToOne_Optional_PK = l4s[6]; l3s[8].OneToOne_Optional_PK = l4s[8]; l3s[1].OneToOne_Optional_FK = l4s[8]; l3s[3].OneToOne_Optional_FK = l4s[6]; l3s[5].OneToOne_Optional_FK = l4s[4]; l3s[7].OneToOne_Optional_FK = l4s[2]; l3s[9].OneToOne_Optional_FK = l4s[0]; l3s[0].OneToMany_Optional = new List <Level4> { l4s[1], l4s[3], l4s[5], l4s[7], l4s[9] }; l3s[1].OneToMany_Optional_Self = new List <Level3> { l3s[0] }; l3s[3].OneToMany_Optional_Self = new List <Level3> { l3s[2] }; l3s[5].OneToMany_Optional_Self = new List <Level3> { l3s[4] }; l3s[7].OneToMany_Optional_Self = new List <Level3> { l3s[6] }; l3s[9].OneToMany_Optional_Self = new List <Level3> { l3s[8] }; // issue #1417 //l3s[0].OneToOne_Optional_Self = l3s[9]; //l3s[1].OneToOne_Optional_Self = l3s[8]; //l3s[2].OneToOne_Optional_Self = l3s[7]; //l3s[3].OneToOne_Optional_Self = l3s[6]; //l3s[4].OneToOne_Optional_Self = l3s[5]; l4s[1].OneToMany_Optional_Self = new List <Level4> { l4s[0] }; l4s[3].OneToMany_Optional_Self = new List <Level4> { l4s[2] }; l4s[5].OneToMany_Optional_Self = new List <Level4> { l4s[4] }; l4s[7].OneToMany_Optional_Self = new List <Level4> { l4s[6] }; l4s[9].OneToMany_Optional_Self = new List <Level4> { l4s[8] }; context.SaveChanges(); } }