|
Η δυνατότητα ConcurrencyCheck μπορεί να εφαρμοστεί στις ιδιότητες μιας κλάσης τομέα. Όταν το EF εκτελεί μια λειτουργία ενημέρωσης, το Code-First τοποθετεί την τιμή της στήλης στην πρόταση συνθήκης where και μπορείτε να χρησιμοποιήσετε αυτήν τη δυνατότητα CurrencyCheck για να χρησιμοποιήσετε τις υπάρχουσες στήλες για έλεγχο ταυτοχρονισμού, αντί να χρησιμοποιήσετε μια ξεχωριστή στήλη TimeStamp για έλεγχο ταυτοχρονισμού. Δείτε τον παρακάτω κώδικα: Στη συνέχεια, ας τροποποιήσουμε τον κωδικό δοκιμής για την κύρια λειτουργία:
Στη συνέχεια, το μήνυμα ταυτοχρονισμού σφάλματος είναι:
εκτελεστικός sp_executesql N'UPDATE [dbo]. [Πληροφορίες μαθητή] SET [Όνομα_μαθητή] = @0, [StdId] = @1 ΟΠΟΥ ((([StudentKey1] = @2) ΚΑΙ ([StudentKey2] = @3)) ΚΑΙ ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Test Only For one',@1=1,@2=1,@3=1,@4=N'Test Only For one' Παρακαλώ σημειώστε:
Σημειώστε ότι το χαρακτηριστικό TimeStamp μπορεί να εφαρμοστεί μόνο σε μία ιδιότητα πίνακα byte σε μια κλάση, ενώ το χαρακτηριστικό ConcurrencyCheck μπορεί να εφαρμοστεί σε οποιονδήποτε αριθμό ιδιοτήτων με οποιονδήποτε τύπο δεδομένων.
Η δυνατότητα TimeStamp μπορεί να χρησιμοποιηθεί μόνο σε με ιδιότητα ενός byte, αλλά η δυνατότητα ConcurrencyCheck μπορεί να χρησιμοποιηθεί σε οποιονδήποτε αριθμό και τύπο ιδιότητας.
|