Necesito insertar atributos [clave] y [marca de tiempo] en una base de datos EF Primero (Vistas). Las anotaciones de datos no funcionan. ¿Podría esto ser debido a un error en EF?

Espero que esto te acerque un poco más a la respuesta que estás buscando. Needed Necesitaba crear y actualizar marcas de tiempo usando Entity Framework 6 y MySQL’s Connector / Net 6.9.9, luego necesitaba agregar precisión de microsegundos.

Primero, un tipo de columna de marca de tiempo básica con restricciones funciona bien, por ejemplo, dentro de la definición de su tabla:


create_ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP EN ACTUALIZAR ACTUAL TIMESTAMP,

Esto se comporta como cabría esperar, y la adición de registros a la tabla a través del sistema de modelo de datos de ADO.Net provocaría que ambos se marcaran con la hora actual, y las actualizaciones provocarían que update_ts se actualizaran. Sin embargo, el tipo de columna TIMESTAMP de MySQL (y el tipo DATETIME) solo tiene una segunda granularidad completa. Desde MySQL versión 5.4, sin embargo, puede especificar una presición siguiendo el tipo y las constantes como este:


– ¡¡¡ADVERTENCIA!!! ¡¡¡NO FUNCIONA!!!
create_ts TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP (6),
update_ts TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP (6) EN ACTUALIZAR ACTUAL TIMESTAMP (6),

Lamentablemente, esto no funcionó como se esperaba, probablemente debido a un error de MySQL Connector / Net. Después de mucho ensayo y error, finalmente resolví las columnas DATETIME sin restricciones y disparadores para obtener el efecto deseado:


create_ts datetime (6),
update_ts datetime (6),

cree el activador test_table_insert antes de insertar en test_table
para cada fila, establezca new.create_ts = now (6), new.update_ts = now (6);
crear disparador test_table_update antes de actualizar en test_table
para cada fila, establezca new.update_ts = now (6);

Usé DATETIME en lugar de TIMESTAMP porque MySQL y / o EF parecían marcar la hora automáticamente, incluso sin restricciones, e interferían con los disparadores. Pronto abriré un informe de error en el sitio de MySQL, pero por ahora tengo una solución alternativa.

Westminster nunca aceptará ese tipo de modelo, ya que automáticamente les impide ofrecer enormes bonos a sus compañeros, les exige gastar sabiamente y no en cosas de las que se beneficiarán personalmente … y, finalmente, porque ya no hay ningún partido de tipo socialista en el Top tres.

Entonces las barreras son las ganancias.