title: Using join throws exception that cannot be debugged
body: <p>I've got a very simple code snippet to test how to use "join" to connect 2 data parts together, as below:</p>
  
  <pre><code>class Employee
  {
      public string EmpName { get; set; }
      public int DeptId { get; set; }
  }
  class Department
  {
      public int DeptId { get; set; }
      public string DeptName { get; set; }
  }
  class UseJoin
  {
      public static void Test()
      {
          IEnumerable&lt;Employee&gt; employees = new[]
          {
              new Employee{ EmpName="John", DeptId=1 },
              new Employee{ EmpName="Kate", DeptId=2 },
              new Employee{ EmpName="Dave", DeptId=1 },
              new Employee{ EmpName="Dane", DeptId=3 },
              new Employee{ EmpName="Greg", DeptId=4 },
              new Employee{ EmpName="Tony", DeptId=4 },
          };
  
          IEnumerable&lt;Department&gt; departments = new[]
          {
              new Department{ DeptId = 1, DeptName = "math" },
              new Department{ DeptId = 3, DeptName = "physics" },
              new Department{ DeptId = 4, DeptName = "history" },
              new Department{ DeptId = 5, DeptName = "mandarine" },
          };
  
          var result = from e in employees
                       join d in departments
                       on e.DeptId equals d.DeptId
                       select new { e.EmpName, d.DeptName };
          Console.WriteLine(result);
      }
  }
  </code></pre>
  
  <p>Upon running this program, console window prints exception/error as below:</p>
  
  <pre><code>System.Linq.Enumerable+&lt;JoinIterator&gt;d__38`4[UseNullable.Employee,UseNullable.Department,System.Int32,&lt;&gt;f__AnonymousType0`2[System.String,System.String]]
  </code></pre>
  
  <p>I tried to debug, but seems this declarative linq cannot be debugged directly, visual studio keeps prompting error messagebox.</p>
  
  <p>Where did I get wrong and how to fix it?</p>