c# - tutorial - entidad marco 6 mysql rowversion
entity framework mysql visual studio 2017 (1)
Estoy usando entity framework 6 con mi sql y parece que la matriz de bytes de la versión de fila no es compatible con mysql. cualquier ayuda, cómo se puede lograr esto.
[Column(TypeName = "timestamp")]
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime TimeStamp { get; set; }
En primer lugar, si está utilizando la migración automática, creo que los atributos de la propiedad no son suficientes para crear el tipo de campo correcto.
Aquí https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html existe la sintaxis que debe generar el proveedor de EF para crear una marca de tiempo que se genera / actualiza automáticamente.
Después de crear el tipo de campo correcto, puedes hacer 2 intentos:
-Mark el campo como Timestamp
[Timestamp]
public DateTime TimeStamp { get; set; }
No creo que EF necesite que un campo Timestamp sea byte []. La marca de tiempo solo debe significar que es el campo generado de la base de datos y que la concurrencia optimista usa ese campo (es decir, las consultas de actualización contienen un en dónde las claves del registro se actualizan y este campo). Pero a menudo EF no funciona como creo ...
-Mark el campo generado por la base de datos y como un campo para usar para comprobar excepciones de concurrencia optimistas
[ConcurrencyCheck]
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime TimeStamp { get; set; }