entity-framework - registro - relacion uno a muchos entity framework
Usando entity framework, ¿debo agregar una marca de tiempo a todas las tablas de mi base de datos? (2)
En proyectos anteriores utilicé marcas de tiempo mucho, y nunca tuve una mala experiencia con él. Además, excluiría totalmente el Marco de la Entidad de esa decisión, porque eso podría cambiar con el tiempo.
Estoy planeando utilizar el marco de entidad MS para nuevas aplicaciones web (¡entra en EF v2!).
Entonces, ¿tiene sentido planear con anticipación agregando columnas de marca de tiempo a todas las tablas de entidades en las bases de datos existentes y futuras, para admitir las verificaciones de concurrencia? ¿Hay alguna razón por la que sería una mala idea tener una columna de marca de tiempo en cada tabla?
Tenga en cuenta que el punto es agregar soporte para la concurrencia optimista, no la auditoría.
He usado columnas de marca de tiempo como una cuestión de rutina durante años. Otra opción es una versión de fila, pero luego necesita actualizarla, etc. Nunca he tenido ningún problema con la marca de tiempo. Una palabra de advertencia: si alguna vez seleccionas temp-table / table-var para procesar, necesitas usar varbinary(8)
, no timestamp
, en la tabla temporal; de lo contrario, tu tabla temporal obtendrá sus propias marcas de tiempo cuando se actualice ;-pag
Como usted reconoce, la timestamp
solo ayuda con la concurrencia. A pesar del nombre, no tiene nada que ver directamente con el tiempo, por lo que no ayudará con la auditoría.
Está muy bien soportado en las ofertas MS db (LINQ-to-SQL / EF / etc)