Come posso convincere Linq-a-SQL a ignorare le colonne che vengono modificate dai trigger di inserimento?

StackOverflow https://stackoverflow.com/questions/3777603

Domanda

C'è una colonna su una delle mie tabelle che viene aggiornata da vari trigger di inserto/eliminazione nel mio database: i trigger eseguono alcuni calcoli in base al contenuto delle tabelle collegate e archiviano il risultato in una colonna sulla tabella di base per query più facili, ecc.

Linq-to-SQL sta lanciando un ChangeConflictException quando provo ad aggiornare queste tabelle, presumibilmente perché il trigger sta modificando questa colonna e quindi L2S pensa che ci sia un conflitto di dati.

Il comportamento esatto che sto cercando è il seguente:

  • L2S dovrebbe recuperare questo valore di colonna quando si recano un oggetto
  • L2S dovrebbe ignorare Le modifiche a questo valore di colonna: le modifiche apportate nel codice non devono essere persistendo nel DB
  • I conflitti sul risparmio dovrebbero essere ignorati.
  • (Se possibile) l'ultimo valore dovrebbe essere recuperato dal DB seguendo qualsiasi operazione di inserzione/aggiornamento, ma posso vivere senza questo se è difficile.

Qualcuno può aiutarmi a implementare questo comportamento in Linq-to-SQL?

Grazie,

Dylan

È stato utile?

Soluzione

Dovresti configurare le colonne come generate automaticamente (proprio come fai con le chiavi primarie) in HE LINQ a SQL Designer. Ciò impedirà questi conflitti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top