2009-12-21 9 views
1

J'essaye de faire ceci sur une méthode qui est fondamentalement un mappeur - mappe la liste de vieilles catégories à une nouvelle liste. The OldCategory a moins de propriétés.Linq Lambda Expression

return categories = from c in oldCategories select new Category 
{ 
    CategoryName = c.CategoryName, 
    Id = c.CategoryId, 
    Teams = CombineTeam(c.Team, coreTeam) 
}; 

Pourquoi ne puis-je utiliser la méthode CombineTeam dans l'expression? Aide appréciée. Merci

MISE À JOUR: ne fonctionne pas parce que c.Team est des méthodes IQueryable et CombineTeam prend une liste

Quelqu'un peut-il me aider à convertir IQueryable à la liste dans l'expression?

+2

Voici la méthode CombineTeam définie? Que diriez-vous de la variable coreTeam? –

+0

oldCategories est-il déjà un objet en mémoire ou est-ce une expression Linq-to-Sql/Entities? –

Répondre

2
return categories = from c in oldCategories select new Category 
{ 
CategoryName = c.CategoryName, 
Id = c.CategoryId, 
Teams = CombineTeam(c.Team.ToList(), coreTeam) 
};