title: LINq query throws exception
body: <p>I am running the following query</p>
  
  <pre><code>var allroles = from l in metaData.Role select l.RoleId;
  var personroles = from k in metaData.PersonRole
                    where k.PersonId == new Guid(Session["user_id"].ToString())
                    select k.RoleId;
  Dictionary&lt;Guid, string&gt; allroleswithnames = 
      (from l in metaData.Role
       select new { l.RoleId, l.Description })
      .ToDictionary(u =&gt; u.RoleId, u =&gt; u.Description);
  var avl_roles = from j in allroles.Except(personroles)
                  select new
                  {
                      RoleId = j,
                      Description = allroleswithnames[new Guid(j.ToString())]
                  };
  clist_avl_roles.DataSource = avl_roles;
  clist_avl_roles.DataBind();
  </code></pre>
  
  <p>The code at code for avl_roles throwing error</p>
  
  <pre><code>Subquery returned more than 1 value. This is not permitted when the subquery
  follows =, !=, &lt;, &lt;= , &gt;, &gt;= or when the subquery is used as an expression.
  </code></pre>
  
  <p>Actually there are multiple rows for roleid with same person id. How do I rewrite the query to handle this situation?</p>