public void LINQTestOrder3() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey orderby p.Position, p.Number select p; string lastPosition = ""; int lastNumber = -1; Console.WriteLine("All position & numbers:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " - " + x.Number); Assert.IsTrue(x.Position.CompareTo(lastPosition) != -1); if (x.Position != lastPosition) { lastNumber = -1; lastPosition = x.Position; } Assert.IsTrue(x.Number >= lastNumber); lastNumber = (int)x.Number; } } }
public void LINQTestJoin4() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey join p in context.Hockey on player.Number equals p.Number + 1 into NextPlayer from p2 in NextPlayer.DefaultIfEmpty() orderby player.Number select new { Team = player.Team, Player = player.Name, PlayerNumber = player.Number, NextPlayer = p2 == null ? "<none>" : p2.Name, NextPlayerNumber = p2 == null ? -1 : p2.Number }; int count = 0; Console.WriteLine("Each player with the player having the previous number:"); foreach (var x in lowNums) { Console.WriteLine(x.Team + " " + x.Player + " (" + x.PlayerNumber + ") " + x.NextPlayer + " (" + x.NextPlayerNumber + ")"); if (x.NextPlayerNumber != -1) { Assert.AreEqual(x.PlayerNumber, x.NextPlayerNumber + 1); } count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestSum4() { using (var context = new EFCodeFirstContext()) { var lowNums = (from p in context.Hockey group p by p.Position into g select new { Position = g.Key, Values = g.Sum(p => p.Number) }).OrderBy(q => q.Values); int count = 0; Console.WriteLine("Sum of all numbers, grouped by position and listed in ascending order:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " -> " + x.Values); if (x.Position == "Fan") { Assert.AreEqual(1, x.Values); } count++; } Assert.AreEqual(4, count, "Bug DB-3090"); } }
public void LINQTestGroup1() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey group p by p.Number % 2 into g select new { IsEven = g.Key, Values = g }; int count = 0; Console.WriteLine("All numbers, grouped by evennes:"); foreach (var x in lowNums) { Console.WriteLine(x.IsEven + " contains " + x.Values.Count() + " rows:"); foreach (var y in x.Values) { Console.WriteLine("\t" + y.Number + " = " + y.Name); Assert.AreEqual(x.IsEven, y.Number % 2); } count++; } Assert.AreEqual(2, count); } }
public void LINQTestMax3() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey group p by p.Position into g select new { Position = g.Key, Values = g.Max(p => p.Number) }; int count = 0; Console.WriteLine("Maximum number, grouped by position:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " -> " + x.Values); if (x.Position == "Fan") { Assert.AreEqual(1, x.Values); } count++; } Assert.AreEqual(4, count); } }
public void LINQTestFirst4() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.FirstOrDefault(player => player.Number == 1900); Assert.IsNull(x); } }
public void LINQTestAll1() { using (var context = new EFCodeFirstContext()) { bool x = context.Hockey.All(player => player.Team == "Bruins"); Assert.IsTrue(x); } }
public void LINQTestAll1() { using (var context = new EFCodeFirstContext()) { bool x = context.Hockey.All(player => player.Team == "Bruins"); Assert.IsTrue(x); } }
public void LINQTestCount2() { using (var context = new EFCodeFirstContext()) { int count = context.Hockey.Count(player => player.Position == "Fan"); Assert.AreEqual(1, count); } }
public void LINQTestSum2() { using (var context = new EFCodeFirstContext()) { int?count = context.Hockey.Sum(player => player.Number); Assert.AreEqual(883, count); } }
public void LINQTestMax2() { using (var context = new EFCodeFirstContext()) { int?number = context.Hockey.Max(player => player.Number); Assert.AreEqual(91, number); } }
public void LINQTestAvg2() { using (var context = new EFCodeFirstContext()) { double?number = context.Hockey.Average(player => player.Number); Assert.AreEqual(37, Math.Round((double)number)); } }
public void TestBigIntIdentity() { GameEntity data; using (var context = new EFCodeFirstContext()) { data = context.Set <GameEntity>().Find(1); } Assert.AreEqual(1, data.Id); }
public void LINQTestAvg1() { using (var context = new EFCodeFirstContext()) { double?number = (from player in context.Hockey select player.Number).Average(); Assert.AreEqual(37, Math.Round((double)number)); } }
public void LINQTestCount1() { using (var context = new EFCodeFirstContext()) { int count = (from player in context.Hockey select player.Team).Distinct().Count(); Assert.AreEqual(1, count); } }
public void LINQTestFirst3() { using (var context = new EFCodeFirstContext()) { var x = (from player in context.Hockey where player.Name == "This does not exist" select player.Name).FirstOrDefault(); Assert.IsNull(x); } }
public void LINQTestMax1() { using (var context = new EFCodeFirstContext()) { int?number = (from player in context.Hockey select player.Number).Max(); Assert.AreEqual(91, number); } }
public void LINQTestSum1() { using (var context = new EFCodeFirstContext()) { int?count = (from player in context.Hockey where player.Position == "Goalie" select player.Number).Sum(); Assert.AreEqual(35 + 40, count); } }
public void TestGuidLiteral() { using (var context = new EFCodeFirstContext()) { var count = (from p in context.Person where p.Id == new Guid("{F571197E-7A4F-4961-9363-7411EACCA841}") select p).Count(); Assert.AreEqual(1, count); } }
public void LINQTestFirst1() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.First(); Assert.IsNotNull(x); Console.WriteLine("First player:"); Console.WriteLine(x.Name + " " + x.Position); } }
public void LINQTestFirst2() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.First(player => player.Name.StartsWith("MAX ")); Assert.IsNotNull(x); Assert.AreEqual(x.Name.Substring(0, 4), "MAX "); Console.WriteLine("First player with 'MAX':"); Console.WriteLine(x.Name + " " + x.Position); } }
public void LINQTestToArray1() { using (var context = new EFCodeFirstContext()) { var lowNums = (from player in context.Hockey select player.Team).ToArray(); Console.WriteLine("All teams:"); for (int d = 0; d < lowNums.Length; d++) { Console.WriteLine(lowNums[d]); } Assert.AreEqual(tableRows, lowNums.Length); } }
public void LINQTestToList1() { using (var context = new EFCodeFirstContext()) { var lowNums = (from player in context.Hockey select player.Team).ToList(); Console.WriteLine("All teams:"); foreach (var x in lowNums) { Console.WriteLine(x); } Assert.AreEqual(tableRows, lowNums.Count); } }
public void LINQTestToDictionary1() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.ToDictionary(player => player.Name); Console.WriteLine("All players:"); foreach (var x in lowNums) { Console.WriteLine(x.Key + " " + x.Value.Position); } Assert.AreEqual(tableRows, lowNums.Count); } }
public void LINQTestSelect5() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.Select((player) => new { Num = player.Number, Name = player.Name }); int count = 0; Console.WriteLine("All names:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestWhere4() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.Where((player) => player.Number < 5); int count = 0; Console.WriteLine("Number < 5:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(1, count); } }
public void LINQTestPartition1() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.Take(3); int count = 0; Console.WriteLine("Just three:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(3, count); } }
public void LINQTestPartition4() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Number).Skip(5).Take(3); int count = 0; Console.WriteLine("Just three, skipping five:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(3, count); } }
public void LINQTestOrder4() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Position); string lastPosition = ""; Console.WriteLine("All position:"); foreach (var x in lowNums) { Console.WriteLine(x.Position); Assert.IsTrue(x.Position.CompareTo(lastPosition) != -1); lastPosition = x.Position; } } }
public void LINQTestPartition3() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Number).Skip(5); int count = 0; Console.WriteLine("All but five:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(tableRows - 5, count); } }
public void LINQTestDistinct1() { using (var context = new EFCodeFirstContext()) { var lowNums = (from player in context.Hockey select player.Team).Distinct(); int count = 0; Console.WriteLine("All teams:"); foreach (var x in lowNums) { Console.WriteLine(x); count++; } Assert.AreEqual(1, count); } }
public void LINQTestAll3() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey group player by player.Team into teams where teams.All(t => t.Name.ToLower() == t.Name) select new { Team = teams.Key, Players = teams }; int count = 0; Console.WriteLine("All teams with player names in lowercase letters:"); foreach (var x in lowNums) { Console.WriteLine(x); count++; } Assert.AreEqual(0, count); } }
public void LINQTestPartition3() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Number).Skip(5); int count = 0; Console.WriteLine("All but five:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(tableRows - 5, count); } }
public void LINQTestMin2() { using (var context = new EFCodeFirstContext()) { int? number = context.Hockey.Min(player => player.Number); Assert.AreEqual(1, number); } }
public void LINQTestPartition4() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Number).Skip(5).Take(3); int count = 0; Console.WriteLine("Just three, skipping five:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(3, count); } }
public void LINQTestGroup2() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey group p by p.Number % 2 into g select new { IsEven = g.Key, Values = g.Count() }; int count = 0; Console.WriteLine("All numbers, grouped by evennes:"); foreach (var x in lowNums) { Console.WriteLine(x.IsEven + " contains " + x.Values + " rows:"); count++; } Assert.AreEqual(2, count); } }
public void LINQTestOrder3() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey orderby p.Position, p.Number select p; string lastPosition = ""; int lastNumber = -1; Console.WriteLine("All position & numbers:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " - " + x.Number); Assert.IsTrue(x.Position.CompareTo(lastPosition) != -1); if (x.Position != lastPosition) { lastNumber = -1; lastPosition = x.Position; } Assert.IsTrue(x.Number >= lastNumber); lastNumber = (int)x.Number; } } }
public void LINQTestPartition2() { using (var context = new EFCodeFirstContext()) { var lowNums = (from p in context.Hockey where p.Team == "Bruins" select p) .Take(3); int count = 0; Console.WriteLine("Just three:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(3, count); } }
public void LINQTestPartition1() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.Take(3); int count = 0; Console.WriteLine("Just three:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(3, count); } }
public void LINQTestSum2() { using (var context = new EFCodeFirstContext()) { int? count = context.Hockey.Sum(player => player.Number); Assert.AreEqual(883, count); } }
public void LINQTestJoin3() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey where player.Position == "Fan" join p in context.Hockey on player.Team equals p.Team into players from p2 in players select new { Team = player.Team, Player = p2.Name }; int count = 0; Console.WriteLine("The team with a fan with all player names exploded:"); foreach (var x in lowNums) { Console.WriteLine(x.Team + " " + x.Player); count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestOrder2() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey orderby p.Number descending select p; int lastNumber = Int32.MaxValue; Console.WriteLine("All numbers:"); foreach (var x in lowNums) { Console.WriteLine(x.Number); Assert.IsTrue(x.Number <= lastNumber); lastNumber = (int)x.Number; } } }
public void LINQTestAny2() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey group player by player.Team into teams where teams.Any(t => t.Position == "Fan") select new { Team = teams.Key, Players = teams }; int count = 0; Console.WriteLine("All teams with a fan:"); foreach (var x in lowNums) { Console.WriteLine(x); count++; } Assert.AreEqual(1, count); } }
public void LINQTestFirst3() { using (var context = new EFCodeFirstContext()) { var x = (from player in context.Hockey where player.Name == "This does not exist" select player.Name).FirstOrDefault(); Assert.IsNull(x); } }
public void LINQTestSum3() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey group p by p.Position into g select new { Position = g.Key, Values = g.Sum(p => p.Number) }; int count = 0; Console.WriteLine("Sum of all numbers, grouped by position:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " -> " + x.Values); if (x.Position == "Fan") Assert.AreEqual(1, x.Values); count++; } Assert.AreEqual(4, count); } }
public void LINQTestFirst2() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.First(player => player.Name.StartsWith("MAX ")); Assert.IsNotNull(x); Assert.AreEqual(x.Name.Substring(0, 4), "MAX "); Console.WriteLine("First player with 'MAX':"); Console.WriteLine(x.Name + " " + x.Position); } }
public void LINQTestJoin2() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey where player.Position == "Fan" join p in context.Hockey on player.Team equals p.Team into players select new { Team = player.Team, Players = players }; int count = 0; Console.WriteLine("The team with a fan with all player names embedded:"); foreach (var x in lowNums) { Console.WriteLine(x.Team + " has " + x.Players.Count() + " players"); count++; } Assert.AreEqual(1, count); } }
public void LINQTestSum1() { using (var context = new EFCodeFirstContext()) { int? count = (from player in context.Hockey where player.Position == "Goalie" select player.Number).Sum(); Assert.AreEqual(35 + 40, count); } }
public void LINQTestJoin1() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey join p in context.Hockey on player.Id equals p.Id select new { Team = player.Team, Name = p.Name }; int count = 0; Console.WriteLine("All teams with player names:"); foreach (var x in lowNums) { Console.WriteLine(x.Team + " " + x.Name); count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestStartsWith1() { using (var context = new EFCodeFirstContext()) { var x = from player in context.Hockey where player.Name.StartsWith("MAX") select player; Assert.IsNotNull(x); Console.WriteLine("Player with MAX in name:"); foreach (var p in x) { Console.WriteLine(p.Name + " " + p.Position); Assert.IsTrue(p.Name.StartsWith("MAX")); } } }
public void LINQTestGroup6() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.GroupBy(player => player.Team, player => player.Name); Console.WriteLine("All players, grouped by team:"); foreach (var x in lowNums) { Console.WriteLine(x.Key + "=" + x.Count()); Assert.AreEqual(tableRows, x.Count()); foreach (var z in x) { Console.WriteLine("\t" + z); } } } }
public void LINQTestSelect7() { using (var context = new EFCodeFirstContext()) { var lowNums = from p1 in context.Hockey where p1.Number == 1 from p2 in context.Hockey where p1.Number == p2.Number select new { Name = p1.Name, Position = p2.Position }; int count = 0; Console.WriteLine("One name and position:"); foreach (var x in lowNums) { Console.WriteLine(x.Name + " (" + x.Position + ")"); count++; } Assert.AreEqual(1, count); } }
public void LINQTestGroup4() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey group p by p.Position into g select new { Position = g.Key, Values = g }; Console.WriteLine("All numbers, grouped by first character:"); foreach (var x in lowNums) { Console.WriteLine(x.Position + " contains " + x.Values.Count() + " rows:"); foreach (var y in x.Values) { Console.WriteLine("\t" + y.Position + " = " + y.Name); Assert.AreEqual(x.Position, y.Position); } } } }
public void LINQTestSelect5() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.Select((player) => new { Num = player.Number, Name = player.Name }); int count = 0; Console.WriteLine("All names:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestOrder4() { using (var context = new EFCodeFirstContext()) { var lowNums = context.Hockey.OrderBy(player => player.Position); string lastPosition = ""; Console.WriteLine("All position:"); foreach (var x in lowNums) { Console.WriteLine(x.Position); Assert.IsTrue(x.Position.CompareTo(lastPosition) != -1); lastPosition = x.Position; } } }
public void LINQTestSelect4() { using (var context = new EFCodeFirstContext()) { var lowNums = from p in context.Hockey select new { p.Name }; int count = 0; Console.WriteLine("All names:"); foreach (var x in lowNums) { Console.WriteLine(x.Name); count++; } Assert.AreEqual(tableRows, count); } }
public void LINQTestFirst4() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.FirstOrDefault(player => player.Number == 1900); Assert.IsNull(x); } }
public void LINQTestMin1() { using (var context = new EFCodeFirstContext()) { int? number = (from player in context.Hockey select player.Number).Min(); Assert.AreEqual(1, number); } }
public void LINQTestFirst1() { using (var context = new EFCodeFirstContext()) { var x = context.Hockey.First(); Assert.IsNotNull(x); Console.WriteLine("First player:"); Console.WriteLine(x.Name + " " + x.Position); } }
public void LINQTestJoin4() { using (var context = new EFCodeFirstContext()) { var lowNums = from player in context.Hockey join p in context.Hockey on player.Number equals p.Number + 1 into NextPlayer from p2 in NextPlayer.DefaultIfEmpty() orderby player.Number select new { Team = player.Team, Player = player.Name, PlayerNumber = player.Number, NextPlayer = p2 == null ? "<none>" : p2.Name, NextPlayerNumber = p2 == null ? -1 : p2.Number }; int count = 0; Console.WriteLine("Each player with the player having the previous number:"); foreach (var x in lowNums) { Console.WriteLine(x.Team + " " + x.Player + " (" + x.PlayerNumber + ") " + x.NextPlayer + " (" + x.NextPlayerNumber + ")"); if (x.NextPlayerNumber != -1) Assert.AreEqual(x.PlayerNumber, x.NextPlayerNumber + 1); count++; } Assert.AreEqual(tableRows, count); } }