|
A funcionalidade ConcurrencyCheck pode ser aplicada às propriedades de uma classe de domínio. Quando o EF realiza uma operação de atualização, o Code-First coloca o valor da coluna na instrução condição where, e você pode usar esse recurso CurrencyCheck para usar as colunas existentes para verificação de concorrência, em vez de usar uma coluna TimeStamp separada para verificação de concorrência. Veja o código abaixo: Em seguida, vamos modificar o código de teste da função principal:
Então a mensagem de concorrência de erro é:
executivo sp_executesql N'UPDATE [dbo]. [InformaçõesEstudante] SET [NomeDeEstudante] = @0, [StdId] = @1 ONDE (((([ChaveEstudante1] = @2) E ([ChaveEstudante2] = @3)) E ([NomeDeEstudante] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Teste Só Para um',@1=1,@2=1,@3=1,@4=N'Teste Só Para um' Por favor, note:
Note que o atributo TimeStamp só pode ser aplicado a uma propriedade de array de um byte em uma classe, enquanto o atributo ConcurrencyCheck pode ser aplicado a qualquer número de propriedades com qualquer tipo de dado.
O recurso TimeStamp só pode ser usado em classes com propriedade de byte único, mas o recurso ConcurrencyCheck pode ser usado em qualquer número e tipo de propriedade.
|