public void Stored_procedure_with_two_results_being_two_child_entities_of_the_same_hierarchy() { using (var context = new IceAndFireModel.IceAndFireContext(_entityConnectionString)) { var humans = context.GetHumansAndAnimals(); Assert.Equal(11, humans.Count()); var animals = humans.GetNextResult <IceAndFireModel.Animal>(); Assert.Equal(3, animals.Count()); } }
public void Stored_procedure_with_first_result_set_with_spatial_and_second_without_spatial() { using (var context = new IceAndFireModel.IceAndFireContext(_entityConnectionString)) { var houses = context.GetHousesAndAnimals(); Assert.Equal(4, houses.Count()); var animals = houses.GetNextResult <IceAndFireModel.Animal>(); Assert.Equal(3, animals.Count()); } }
public void Stored_procedure_with_two_results_being_same_entity_with_spatial() { using (var context = new IceAndFireModel.IceAndFireContext(_entityConnectionString)) { var houses = context.GetHousesAndHouses(); Assert.Equal(4, houses.Count()); var alsoHouses = houses.GetNextResult <IceAndFireModel.House>(); Assert.Equal(4, alsoHouses.Count()); } }
public void Stored_procedure_with_two_results_second_being_hierarchy() { using (var context = new IceAndFireModel.IceAndFireContext(_entityConnectionString)) { var lands = context.GetLandsAndCreatures(); Assert.Equal(4, lands.Count()); var creatures = lands.GetNextResult <IceAndFireModel.Creature>(); var creaturesList = creatures.ToList(); Assert.Equal(3, creaturesList.OfType <IceAndFireModel.Animal>().Count()); Assert.Equal(11, creaturesList.OfType <IceAndFireModel.Human>().Count()); } }
private void Seed() { using (var context = new IceAndFireModel.IceAndFireContext(_entityConnectionString)) { if (context.Creatures.Count() > 0) { return; } var aryaStark = new IceAndFireModel.Human { Name = "Arya", PlaceOfBirth = DbGeography.FromText("POINT (1 1)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var sansaStark = new IceAndFireModel.Human { Name = "Sansa", PlaceOfBirth = DbGeography.FromText("POINT (1 1)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var branStark = new IceAndFireModel.Human { Name = "Brandon", PlaceOfBirth = DbGeography.FromText("POINT (1 1)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var ricksonStark = new IceAndFireModel.Human { Name = "Rickson", PlaceOfBirth = DbGeography.FromText("POINT (1 1)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var stannisBaratheon = new IceAndFireModel.Human { Name = "Stannis", PlaceOfBirth = DbGeography.FromText("POINT (2 2)", GeographySrid), Size = IceAndFireModel.CreatureSize.Medium, }; var tyrionLannister = new IceAndFireModel.Human { Name = "Tyrion", PlaceOfBirth = DbGeography.FromText("POINT (3 3)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var jamieLannister = new IceAndFireModel.Human { Name = "Jamie", PlaceOfBirth = DbGeography.FromText("POINT (3 3)", GeographySrid), Size = IceAndFireModel.CreatureSize.Medium, }; var cerseiLannister = new IceAndFireModel.Human { Name = "Cersei", PlaceOfBirth = DbGeography.FromText("POINT (3 3)", GeographySrid), Size = IceAndFireModel.CreatureSize.Medium, }; var jonSnow = new IceAndFireModel.Human { Name = "Jon", PlaceOfBirth = DbGeography.FromText("POINT (4 4)", GeographySrid), Size = IceAndFireModel.CreatureSize.Small, }; var daenerysTargaryen = new IceAndFireModel.Human { Name = "Daenerys", PlaceOfBirth = DbGeography.FromText("POINT (5 5)", GeographySrid), Size = IceAndFireModel.CreatureSize.Medium, }; var aegonTargaryen = new IceAndFireModel.Human { Name = "Aegon", PlaceOfBirth = DbGeography.FromText("POINT (5 5)", GeographySrid), Size = IceAndFireModel.CreatureSize.Medium, }; var aurochs = new IceAndFireModel.Animal { IsCarnivore = false, IsDangerous = false, Name = "Aurochs", Size = IceAndFireModel.CreatureSize.Large, }; var direwolf = new IceAndFireModel.Animal { IsCarnivore = true, IsDangerous = true, Name = "Direwolf", Size = IceAndFireModel.CreatureSize.Large, }; var kraken = new IceAndFireModel.Animal { IsCarnivore = true, IsDangerous = true, Name = "Kraken", Size = IceAndFireModel.CreatureSize.VeryLarge, }; var houseStark = new IceAndFireModel.House { Name = "Stark", Sigil = DbGeometry.FromText("POINT (1 1)", GeometrySrid), Words = "Winter is coming", ProminentMembers = new List <IceAndFireModel.Human> { aryaStark, sansaStark, branStark, ricksonStark }, }; var houseBaratheon = new IceAndFireModel.House { Name = "Baratheon", Sigil = DbGeometry.FromText("POINT (2 2)", GeometrySrid), Words = "Ours is the fury", ProminentMembers = new List <IceAndFireModel.Human> { stannisBaratheon, }, }; var houseLannister = new IceAndFireModel.House { Name = "Lannister", Sigil = DbGeometry.FromText("POINT (3 3)", GeometrySrid), Words = "Hear me roar!", ProminentMembers = new List <IceAndFireModel.Human> { tyrionLannister, jamieLannister, cerseiLannister, }, }; var houseTargaryen = new IceAndFireModel.House { Name = "Targaryen", Sigil = DbGeometry.FromText("POINT (4 4)", GeometrySrid), Words = "Fire and blood", ProminentMembers = new List <IceAndFireModel.Human> { jonSnow, daenerysTargaryen, aegonTargaryen, }, }; var north = new IceAndFireModel.Land { LocationOnMap = DbGeography.FromText("POINT (1 1)", GeographySrid), Name = "North", RulingHouse = houseStark, }; var stormlands = new IceAndFireModel.Land { LocationOnMap = DbGeography.FromText("POINT (2 2)", GeographySrid), Name = "Stormlands", RulingHouse = houseBaratheon, }; var westerlands = new IceAndFireModel.Land { LocationOnMap = DbGeography.FromText("POINT (3 3)", GeographySrid), Name = "Westerlands", RulingHouse = houseLannister, }; var dragonstone = new IceAndFireModel.Land { LocationOnMap = DbGeography.FromText("POINT (4 4)", GeographySrid), Name = "Dragonstone", RulingHouse = houseTargaryen, }; context.Lands.Add(north); context.Lands.Add(stormlands); context.Lands.Add(westerlands); context.Lands.Add(dragonstone); context.Creatures.Add(aurochs); context.Creatures.Add(direwolf); context.Creatures.Add(kraken); context.SaveChanges(); } }