public void Delete_GearsOfWar_entities_using_stored_procedures()
        {
            using (var context = new GearsOfWarStoredProceduresContext())
            {
                var cities  = context.Cities.ToList();
                var gears   = context.Gears.ToList();
                var squads  = context.Squads.ToList();
                var tags    = context.Tags.ToList();
                var weapons = context.Weapons.ToList();

                context.Cities.RemoveRange(cities);
                context.Gears.RemoveRange(gears);
                context.Squads.RemoveRange(squads);
                context.Tags.RemoveRange(tags);
                context.Weapons.RemoveRange(weapons);
                context.SaveChanges();
            }

            using (var context = new GearsOfWarStoredProceduresContext())
            {
                Assert.Equal(0, context.Cities.Count());
                Assert.Equal(0, context.Gears.Count());
                Assert.Equal(0, context.Squads.Count());
                Assert.Equal(0, context.Tags.Count());
                Assert.Equal(0, context.Weapons.Count());
            }
        }
コード例 #2
0
        public void Update_Many_to_Many_relationship_using_stored_procedures()
        {
            ExtendedSqlAzureExecutionStrategy.ExecuteNew(
                () =>
            {
                using (new TransactionScope())
                {
                    List <int?> usedWeaponIds;
                    List <int?> unusedWeaponIds;
                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        var gear      = context.Gears.OrderBy(g => g.Nickname).ThenBy(g => g.Squad).First();
                        usedWeaponIds = gear.Weapons.Select(w => w.Id).ToList();

                        var unusedWeapons = context.Weapons
                                            .Where(w => !usedWeaponIds.Contains(w.Id)).ToList();

                        unusedWeaponIds = unusedWeapons.Select(w => w.Id).ToList();
                        gear.Weapons    = unusedWeapons;
                        context.SaveChanges();
                    }

                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        var gear = context.Gears.OrderBy(g => g.Nickname).ThenBy(g => g.Squad).First();
                        Assert.True(gear.Weapons.All(w => unusedWeaponIds.Contains(w.Id)));
                    }
                }
            });
        }
コード例 #3
0
        public void Delete_GearsOfWar_entities_using_stored_procedures()
        {
            ExtendedSqlAzureExecutionStrategy.ExecuteNew(
                () =>
            {
                using (new TransactionScope())
                {
                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        var cities  = context.Cities.ToList();
                        var gears   = context.Gears.ToList();
                        var squads  = context.Squads.ToList();
                        var tags    = context.Tags.ToList();
                        var weapons = context.Weapons.ToList();

                        context.Cities.RemoveRange(cities);
                        context.Gears.RemoveRange(gears);
                        context.Squads.RemoveRange(squads);
                        context.Tags.RemoveRange(tags);
                        context.Weapons.RemoveRange(weapons);
                        context.SaveChanges();
                    }

                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        Assert.Equal(0, context.Cities.Count());
                        Assert.Equal(0, context.Gears.Count());
                        Assert.Equal(0, context.Squads.Count());
                        Assert.Equal(0, context.Tags.Count());
                        Assert.Equal(0, context.Weapons.Count());
                    }
                }
            });
        }
コード例 #4
0
        public void Update_GearsOfWar_entities_using_stored_procedures()
        {
            ExtendedSqlAzureExecutionStrategy.ExecuteNew(
                () =>
            {
                using (new TransactionScope())
                {
                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        var city = context.Cities.OrderBy(c => c.Name).First();
#if NET452
                        city.Location = DbGeography.FromText("POINT(12 23)", DbGeography.DefaultCoordinateSystemId);
#endif
                        context.SaveChanges();

                        var tag  = context.Tags.OrderBy(t => t.Id).First();
                        tag.Note = "Modified Note";
                        context.SaveChanges();

                        var gear  = context.Gears.OrderBy(g => g.Nickname).ThenBy(g => g.SquadId).First();
                        gear.Rank = MilitaryRank.General;
                        context.SaveChanges();

                        var squad  = context.Squads.OrderBy(s => s.Id).First();
                        squad.Name = "Modified Name";
                        context.SaveChanges();

                        var weapon  = context.Weapons.OrderBy(w => w.Id).First();
                        weapon.Name = "Modified Name";
                        context.SaveChanges();
                    }

                    using (var context = new GearsOfWarStoredProceduresContext())
                    {
                        var city   = context.Cities.OrderBy(c => c.Name).First();
                        var tag    = context.Tags.OrderBy(t => t.Id).First();
                        var gear   = context.Gears.OrderBy(g => g.Nickname).ThenBy(g => g.SquadId).First();
                        var squad  = context.Squads.OrderBy(s => s.Id).First();
                        var weapon = context.Weapons.OrderBy(w => w.Id).First();

#if NET452
                        Assert.Equal(12, city.Location.Longitude);
                        Assert.Equal(23, city.Location.Latitude);
#endif
                        Assert.Equal("Modified Note", tag.Note);
                        Assert.Equal(MilitaryRank.General, gear.Rank);
                        Assert.Equal("Modified Name", squad.Name);
                        Assert.Equal("Modified Name", weapon.Name);
                    }
                }
            });
        }
        public ModificationFunctionsEndToEndTests()
        {
            // force database initialization, we don't want this to happen inside transaction
            using (var context = new GearsOfWarStoredProceduresContext())
            {
                context.Database.Delete();
                context.Weapons.Count();
            }

            using (var context = new ArubaStoredProceduresContext())
            {
                context.Database.Delete();
                context.Configs.Count();
            }

            using (var context = new FantasyStoredProceduresContext())
            {
                context.Database.Delete();
                context.Creatures.Count();
            }
        }