Ho un database con varie tabelle, collegato ad un dataset tipizzato, anch'esso con le stesse tabelle. Ho bisogno di fare dei calcoli su certi record della tabella A. Dato che i calcoli si basano sui record di un'altra tabella B, scorro quest'ultima con un ciclo for: se incontro un record valido, avvio il calcolo. Controllo se il calcolo è già stato fatto con una query linq: le tabelle A e B sono infatti legate da una relazione, per la quale una certa tupla di A è la chiave primaria di B; in questo modo, se la query restituisce almeno un valore, sono certo di aver già eseguito il calcolo su quel record. In questo caso, uso il record trovato e lo modifico, altrimenti ne creo un altro.
Tutto si svolge perfettamente, tranne il salvataggio, che attuo mediante il metodo Update di un DataTableAdapter tipizzato, nel senso che, uscendo dalla finestra o riavviando il programma i dati che avevo ricalcolato sono rimasti gli stessi (notare che ho controllato con un breakpoint che i valori della tabella fossero correttamente cambiati prima del salvataggio, e lo erano). Ho provato ad usare i metodi SetAdded (per le righe aggiunte) e SetModified (per le righe modificate), in modo da specificare all'adapter cosa fare, ma l'unica cosa che ho ottenuto è un errore di tipo DBConcurrencyException sulla riga dove richiamo il metodo Update.
Qualcuno mi sa aiutare?