Ho un'app Web che utilizza Guids come PK nel DB per un oggetto Employee e un oggetto Association.Trasferimento di molti oggetti con ID guida al client
Una pagina della mia app restituisce una grande quantità di dati che mostrano tutte le associazioni di cui possono far parte tutti i Dipendenti.
Così adesso, io mando al cliente essenzialmente un gruppo di oggetti che assomigliano:
{assocation_id: guid, employees: [guid1, guid2, ..., guidN]}
Si scopre che molti dipendenti appartengono a molte associazioni, così io mando giù lo stesso GUID per quei dipendenti più e più volte in questi diversi oggetti. Ad esempio, è possibile che in alcuni casi invii 30.000 guids totali a tutte le associazioni, di cui ci sono solo 500 dipendenti unici.
mi chiedo se vale la pena me la costruzione di una sorta di indice di ricerca che ho anche inviare al client come
{ 1: Guid1, 2: Guid2 ... }
e sostituendo tutti i GUID negli oggetti mando giù con quei interi,
o se semplicemente gzippare la risposta lo comprimerà abbastanza da non valerne la pena?
Nota: si prega di non farsi prendere nei dettagli di se dovrei mandare giù 30.000 pezzi di dati o meno - questa non è la mia scelta e non c'è nulla che io possa fare al riguardo (e anche io posso cambiare GUID in int e long nel DB).
Perché non usi semplicemente il metodo Linq Distinct()? O utilizzare DISTINCT nella query dbase? –
Perché non inviare l'elenco di * associazione * per * impiegati * invece? – ydroneaud
Per ulteriori motivi relativi alla larghezza di banda della risposta, vorrei separare le risorse nidificate per questo caso, come suggerito. Potresti usare richieste ajax separate per loro, o pigri-caricali su richiesta. – aceofspades