Grupo LINQ por vários campos -Syntax ajuda

Qual é a correção necessária, por exemplo, 2 inorder para agrupar por várias colunas

Exemplo 1

var query = from cm in cust group cm by new { cm.Customer, cm.OrderDate } into cms select new { Key1 = cms.Key.Customer,Key2=cms.Key.OrderDate,Count=cms.Count() }; 

Exemplo 2 (incorreto)

  var qry = cust.GroupBy(p => p.Customer, q => q.OrderDate, (k1, k2, group) => new { Key1 = k1, Key2 = k2, Count = group.Count() }); 

Use o mesmo tipo anônimo na notação de ponto que você faz na expressão de consulta:

 var qry = cust.GroupBy(cm => new { cm.Customer, cm.OrderDate }, (key, group) => new { Key1 = key.Customer, Key2 = key.OrderDate, Count = group.Count() }); 

(Em um IDE real, eu teria (key, group) alinhado sob o parâmetro cm , mas ele seria encerrado no SO.)