57 messaggi dal 24 marzo 2008
Ciao Bright,



Il problema serio può nascere quando hai tanti inserimenti da fare. Qui sì che noteresti dei rallentamenti perché ogni entità verrebbe inserita singolarmente.



Il punto era proprio capire il costo in termini di prestazioni quando capita di inserire molte righe insieme.



Comunque questa seconda query non ha alcun particolare impatto sulle prestazioni. In fondo, il comando insert e la query select vengono eseguite in un solo round-trip al database.



In genere, lavorando con i dataset, non ho l'abitudine di utilizzare l'opzione di aggiornamento con scope_identity(), a meno che non abbia necessità di popolare tabelle correlate in un'unica routine di salvataggio (e quindi devo sapere l'id generato).

In ogni caso non inserisco mai più di 2-3 righe insieme, per evitare picchi di lavoro sul db e per non lasciare il dataset non allineato con il db eccessivamente a lungo, che potrebbe comportare problemi di concorrenza in fase di aggiornamento dei dati.



Se proprio vuoi evitare quella seconda select devi ricorrere al metodo ObjectContext.ExecuteStoreCommand che ti lascia eseguire un comando SQL arbitrario (una insert, nel tuo caso).



Buono a sapersi ;)

A presto,
Davide
Modificato da dadox77 il 25 giugno 2012 22.38 -

Nulla è reale...tutto è lecito...

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.