61 messaggi dal 20 maggio 2009
ciao, ho una query linq che mi ritorna una lista di oggetti cliente.

vorrei creare un dictionary composto nella chiave il nome del cliente come stringa, e nel valore la lista di tutti i clienti con quello stesso nome.

esempio.

oggetto cliente:
public class cliente
{
string nome;
string CodiceCliente; //univoco
string CodiceFiscale;
string PartitaIva
... altri campi informativi sul cliente.(indirizzo, tel ect..)
}

alcuni clienti sono registrati nel db con lo stesso nome, ma poi hanno dati differenti.

vorrei creare un dictionary così fatto:
key Value
"string" -> "List<Cliente>" listdei clienti "nome cliente 1"

"mario rossi" -> lista di oggetti clienti dove il campo nome è uguale a "mario rossi".

query linq:

 Dictionary<string,List<Cliente>> clientiDic = 
           (from x in ResultFinale
           group x by new { x.nome, ??? } into g
           select g).ToDictionary(???);

Vivaldi Francesco
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, prova così:

var clientiDic = 
           (from x in ResultFinale
           group x by x.Nome)
           .ToDictionary(gruppo=>gruppo.Key, gruppo=>gruppo.ToList());
Come vedi qui, all'extension method .ToDictionary devi passare due parametri: l'espressione usata per calcolare la chiave e l'espressione usata per il valore. Questo ti restituirà un Dictionary<string, List<Cliente>>.

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.