title: C# Linq join 2 Tables
body: <p>I want to join 2 Tables with linq or DataRelation. So I have tried with linq firstly, it works great but when I add another object to 1. Tables and join with 2.Table, it doesn't show this object.</p>
  
  <p>Here is my Code:</p>
  
  <pre><code>DataTable table = new DataTable("Kunde");
  
  table.Columns.Add("KundeID", typeof(Int32));
  table.Columns.Add("KundeName", typeof(String));
  table.Columns.Add("Produkt", typeof(String));
  
  table.PrimaryKey = new DataColumn[] { table.Columns["KundeID"] };
  
  DataTable comment = new DataTable("Comment"); 
  
  comment.Columns.Add("KundeName", typeof(String));
  comment.Columns.Add("Comment", typeof(String));
  
  comment.PrimaryKey = new DataColumn[] { comment.Columns["KundeName"] };
  
  
  DataSet ds = new DataSet("DataSet");
  
  ds.Tables.Add(table);
  ds.Tables.Add(comment);
  
  object[] o1 = { 1, "Michael", "Jogurt" };
  object[] o2 = { 2, "Raj", "Cola" };
  object[] o3 = { 3, "Gary", "Fanta" };
  ***object[] o4 = { 4, "Miky", "Sprite" };***
  
  object[] c1 = { "Raj", "Ich bin cool" };
  object[] c2 = { "Gary", "yahoo" };
  object[] c3 = { "Michael", "nichts zu verlieren" };
  
  
  table.Rows.Add(o1);
  table.Rows.Add(o2);
  table.Rows.Add(o3);
  table.Rows.Add(o4);
  
  comment.Rows.Add(c1);
  comment.Rows.Add(c2);
  comment.Rows.Add(c3);
  
  var results = from table1 in table.AsEnumerable()
                join table2 in comment.AsEnumerable()
                on table1.Field&lt;string&gt;("KundeName") equals table2.Field&lt;string&gt;("KundeName")
                select new
                    {
                        KundeID = table1.Field&lt;Int32?&gt;("KundeID"),
                        KundeName = table1.Field&lt;String&gt;("KundeName"),
                        Produkt = table1.Field&lt;String&gt;("Produkt"),
  
                        Comment = table2.Field&lt;String&gt;("Comment")
                    };
  
  foreach (var item in results)
  {
      Console.WriteLine(String.Format("{0}    {1}    {2}    {3}", item.KundeID, item.KundeName, item.Produkt, item.Comment));
  }
  
  
  Console.ReadKey();
  </code></pre>