コード例 #1
0
        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());
            }
        }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
        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());
            }
        }
コード例 #4
0
        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());
            }
        }
コード例 #5
0
        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();
            }
        }