Groupe de Plusieurs Colonnes et le Comte

J'ai Table1 et Table2 dans la forme de IEnumerable<DataRow>. Les deux tableaux ont des colonnes Column1 et Column2.

Je voudrais faire une jointure externe gauche sur Column1 et souhaitez obtenir un nombre de lignes présentes dans Table2 et de charger les enregistrements dans une DataTable.

J'ai essayé la requête suivante

var query = from p in Table1
            join q in Table2 on p.Field<string>("Column1") equals q.Field<string>("Column1") into pq
            from xyz in pq.DefaultIfEmpty()
            group xyz by new { Col1 = p.Field<string>("Column1"), Col2 = p.Field<string>("Column2") } into g
            select dtFinalData.LoadDataRow(new object[]
            {
                g.Key.Col1,
                g.Key.Col2,                               
                g.Count
            }, false);

Depuis le " g " représente les données groupées de la g.count retourne 1 pour les lignes qui ne dispose pas d'entrées dans le Tableau 2. J'aimerais revenir à '0' pour ces lignes.

D'entrée :

Tableau 1

Col1Val1       Col2Val1

Col1Val2       Col2Val2

Tableau 2

Col1Val1       Col2Val1

Col1Val1       Col2Val1

Courant De Sortie :

Col1Val1        Col2Val1    2

Col2Val2        Col2Val2    1

Résultats Attendus :

Col1Val1        Col2Val1    2

Col2Val2        Col2Val2    0

J'ai regardé LINQ - Left Join Group By, et le Comte mais je ne pouvais pas appliquer le même dans ma requête ...

Pouvez-vous m'aider à résoudre cette question ?