2014-05-14 15 views
11

Ho una lista di tipo anonimoAggiungi elemento a un elenco anonimo

var myList = db.Products.Select(a => new {a.ProductName, a.ProductId, 
a.Priority}).ToList(); 

E voglio aggiungere un altro elemento a questa lista come

myList.Insert(0, new { "--All--", 0, 0}); //Error: Has some invalid arguments 

Ho anche provato

myList.Add(new { "--All--", 0, 0}); //Error: Has some invalid arguments 

Come posso farlo?

Edit:

Ho fatto questo dopo la prima risposta

var packageList = db.Products.Select(a => new { 
     a.ProductName, a.ProductId, a.Priority }).ToList(); 

packageList.Insert(0, new { ProductName = "All", ProductId = 0, Priority = 0 }); 

ma lo stesso errore di nuovo.

risposta

20

È necessario specificare i nomi di proprietà di oggetto anonimo si crea:

myList.Insert(0, new { ProductName = "--All--", ProductId = 0, Priority = 0}); 

Tenete a mente - si dovrebbe elencare tutti proprietà di tipo anonimo (nomi dovrebbero essere lo stesso), dovrebbero essere utilizzati in stesso ordine e dovrebbero avere esattamente gli stessi tipi. Altrimenti verrà creato un oggetto di diverso tipo anonimo.

+0

lo stesso errore, dove sto sbagliando? – Lali

+0

Quali tipi ProductId e Priorità hanno nell'entità prodotto? –

+0

entrambi sono Int32. – Lali

Problemi correlati