Skip to content

Instantly share code, notes, and snippets.

@sverrehundeide
Last active October 17, 2017 20:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sverrehundeide/6734ea54abb7cb2446d7eafc3852b588 to your computer and use it in GitHub Desktop.
Save sverrehundeide/6734ea54abb7cb2446d7eafc3852b588 to your computer and use it in GitHub Desktop.
Blog - Optimistic concurrency with MySQL and Entity Framework
Property(x => x.Version).IsRequired()
.IsConcurrencyToken()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
var concurrencyTokenEntries = ChangeTracker.Entries<IVersionedEntity>();
foreach (var entry in concurrencyTokenEntries)
{
if (entry.State == EntityState.Unchanged)
{
continue;
}
entry.Entity.Version = Guid.NewGuid();
}
TIMESTAMP type with default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Property(x => x.Version).IsRequired()
.IsConcurrencyToken()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
public System.Guid Version { get; set; }
public interface IVersionedEntity
{
Guid Version { get; set; }
}
@sverrehundeide
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment