using System.Collections.Generic;
public string Field1 = "This is Field1";
public string Field2 = "This is Field2";
public string FieldA = "This is FieldA";
public string FieldB = "This is FieldB";
public static void Main()
var ListOfTable1 = new List<Table1>()
new Table1(0), new Table1(1), new Table1(2)}
var ListOfTable2 = new List<Table2>()
new Table2(0), new Table2(0), new Table2(0)}
.GroupJoin(ListOfTable2, (table1 => table1.Table1_id), (table2 => table2.Table2_id),
manySubObjects = (table2.Count() > 0)
? (from t in table2 select new { fielda = t.FieldA, fieldb = t.FieldB}).ToList()
foreach (var result in query)
Console.Write(result.Id + ", ");
Console.Write(result.field1 + ", ");
Console.Write(result.field2 + ", ");
Console.Write((result.manySubObjects == null ? 0 : result.manySubObjects.Count()));