I'm building a word anagram program that uses a database which contains one simple table:

```
Words
---------------------
varchar(15) alphagram
varchar(15) anagram
(other fields omitted for brevity)

```

An alphagram is the letters of a word arranged in alphabetical order. For example, the alphagram for OVERFLOW would be EFLOORVW. Every Alphagram in my database has one or more Anagrams. Here's a sample data dump of my table:

```
Alphagram   Anagram  
EINORST     NORITES
EINORST     OESTRIN
EINORST     ORIENTS
EINORST     STONIER
ADEINRT     ANTIRED
ADEINRT     DETRAIN
ADEINRT     TRAINED

```

I'm trying to build a LINQ query that would return a list of Alphagrams along with their associated Anagrams. Is this possible?

---

**UPDATE: Here's my solution based on the suggestions below! Thanks all!**

```
using (LexiconEntities ctx = new LexiconEntities())
{
    var words = ctx.words;

    var query =
        from word in words
        where word.alphagram == "AEINRST"
        group word by word.alphagram into alphagramGroup
        select new { Alphagram = alphagramGroup.Key, Anagrams = alphagramGroup };

    foreach (var alphagramGroup in query)
    {
        Console.WriteLine("Alphagram: {0}", alphagramGroup.Alphagram);
        foreach (var anagram in alphagramGroup.Anagrams)
        {
            Console.WriteLine("Anagram: {0}", anagram.word1);
        }
    }
}

```