Você deve estar tentando usar o recurso DB Timestamp / Rowversion. No EF, você declara um ByteArray e o nomeia como o campo de verificação de simultaneidade. O DB define o valor na criação. Todas as atualizações subsequentes podem verificar o valor hasnt changeDB atualiza rowversion conforme apropriado. Esta abordagem funciona no servidor SQL. Deve se comportar da mesma maneira no MYSql.
public abstract class BaseObject {
[Key]
[Required]
public virtual int Id { set; get; }
[ConcurrencyCheck()]
public virtual byte[] RowVersion { get; set; }
}
ou via fluente se preferir // Chave primáriathis.HasKey(t => t.Id);
// Properties
//Id is an int allocated by DB , with string keys, no db generation now
this.Property(t => t.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); // default to db generated
this.Property(t => t.RowVersion)
.IsRequired()
.IsFixedLength()
.HasMaxLength(8)
.IsRowVersion(); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Documento sobre o padrão de simultaneidade otimista