private static DataContext GetData()
        {
            var context = new DataContext();

            context.AgeName.AddRange(new [] {
                    new AgeName(27, "Jonah"),
                    new AgeName(18, "Alan"),
                    new AgeName(28, "Glory"),
                    new AgeName(18, "Popeye"),
                    new AgeName(28, "Alan")
                });

            context.NameNemesis.AddRange(new[]
            {
                new NameNemesis("Jonah", "Whales"),
                new NameNemesis("Jonah", "Spiders"),
                new NameNemesis("Alan", "Ghosts"),
                new NameNemesis("Alan", "Zombies"),
                new NameNemesis("Glory", "Buffy")
            });

            return context;
        }
 private static List<AgeNameNemesis> ExecuteHashJoin(DataContext data)
 {
     return (data.AgeName.Join(data.NameNemesis,
         ageName => ageName.Name, nameNemesis => nameNemesis.Name,
         (ageName, nameNemesis) => new AgeNameNemesis(ageName.Age, ageName.Name, nameNemesis.Nemesis)))
         .ToList();
 }