title: LINQ aggregate items in a list, concatenate a property
body: <p>Please be kind to a LINQ dummy...
  Say I have 8 rows data like this:</p>
  
  <pre><code>+-------------------+
  |  ID   WORKTYPEDESC|
  +-------------------+
  | 1     plumber     |
  | 1     carpenter   |
  | 1     electrician |
  | 2     juggler     |
  | 2     mime        |
  | 3     writer      |
  | 3     actor       |
  +-------------------+
  </code></pre>
  
  <p>As an 8-item <code>IList&lt;Worktype&gt;</code> collection where <code>Worktype</code> looks like</p>
  
  <pre><code>public class Worktype
  {
    public int Id { get; set; }
    public string WorktypeDesc { get; set; }
  }
  </code></pre>
  
  <p>And what I want is to aggregate by Id to get a list with 3 Worktypes, each with a WorktypeDesc being a sorted, semicolon-delimited list, like this:</p>
  
  <pre><code>+-------------------------------------+
  | ID    WORKTYPEDESC                  |
  +-------------------------------------+
  | 1     carpenter;electrician;plumber |
  | 2     juggler;mime                  |
  | 3     actor;writer                  |
  +-------------------------------------+
  </code></pre>
  
  <p>??</p>