2010-02-11 3 views
4

Je me demande quelle serait la meilleure approche pour ajouter une ligne artificielle à un ensemble de résultats linq anonyme.Ajout d'une ligne artificielle à un ensemble de résultats Linq anonyme

J'ai une instruction linq qui utilise "select new" pour former les données requises. Chaque enregistrement revient en tant qu'objet anonyme avec les propriétés ID et Name. Cependant, je demande que la première ligne des données devienne un objet avec ID = NULL, Name = "All".

Existe-t-il un moyen d'union dans un résultat artificiel dans la requête Linq? Ou alors, comment ajouter une nouvelle instance du type anonyme dans la collection de résultats anonyme?

Répondre

3

Vous pouvez utiliser la méthode Concat:

var q = new[]{ new { ID = null, Name = "All" } }.Concat(dbQuery); 
+2

Salut merci, je reviens juste pour poster une solution similaire une fois que je travaillais dehors et vu votre message. La chose qui me manquait était que je n'avais pas réalisé que je pouvais simplement créer une nouvelle instance d'objet anonyme avec la syntaxe nommée Parameters tant que les propriétés correspondent. J'ai fini par utiliser ce qui suit pour obtenir ma ligne insérée en tant que premier élément, mais les résultats sont les mêmes: anonCollection.Insert (0, nouveau {Name = "All", ID = ""}); Merci. –

Questions connexes