Mi piace strumenti ORM, ma ho spesso pensato che per aggiornamenti di grandi dimensioni (migliaia di righe), sembra inefficiente per caricare, aggiornare e salvare quando qualcosa di simileGrandi aggiornamenti del database del volume con un ORM
UPDATE [table] set [column] = [value] WHERE [predicate]
sarebbe dare prestazioni molto migliori.
Tuttavia, supponendo che si volesse percorrere questa rotta per motivi di prestazioni, come si sarebbe quindi assicurarsi che tutti gli oggetti memorizzati nella cache fossero aggiornati correttamente.
Supponiamo che tu stia utilizzando LINQ to SQL e hai lavorato su un DataContext, come assicurarti che l'UPDATE ad alte prestazioni si rifletta nel grafico dell'oggetto DataContext?
Questo potrebbe essere un "non si" o "utilizzare i trigger sul DB per chiamare il codice .NET che elimina la cache" ecc. Ecc., Ma sono interessato a conoscere soluzioni comuni a questo tipo di problema.
non è uno dei motivi per l'utilizzo di un ORM? cioè che fornisce meccanismi per sincronizzare oggetti in memoria e oggetti memorizzati aggiornati? Il meccanismo sarà ovviamente ORM specifico –
Sì, ma il mio punto è che se si utilizza uno strumento ORM e si desidera migliorare le prestazioni degli aggiornamenti di massa utilizzando un metodo SQL diretto, si perdono alcuni dei vantaggi di ORM. –