2009-05-20 9 views
6

Voglio implementare questo metodo parziale nella mia classe di tabella Linq.Quando è OnValidate chiamato in Linq?

partial void OnValidate(System.Data.Linq.ChangeAction action); 

La mia speranza è che si chiami proprio davanti a un inserto. Qualcuno può dirmi quando viene chiamato il metodo OnValidate?

Update 1

capisco che posso controllare l'enum per vedere quale azione induce a fuoco. Ma WHEN viene chiamato? Devo sapere se viene chiamato ogni volta che qualcuno invia modifiche o cosa?

risposta

6

Il metodo OnValidate per ogni entità modificata, se esistente, verrà chiamato durante SubmitChanges per il contesto dati contenente l'entità. Pertanto, verrà attivato per tutti gli inserimenti, gli aggiornamenti e le eliminazioni eseguite con quel contesto di dati dall'ultima volta in cui è stato chiamato SubmitChanges (o il contesto creato). Se è necessario distinguere le azioni di convalida in base al tipo di modifica, è possibile escludere il parametro ChangeAction per controllare il flusso di esecuzione.

+0

Impressionante proprio quello di cui avevo bisogno! Grazie! –

Problemi correlati