Por lo que sé, rowversion es un valor binario relativo, no un valor de tiempo real. Se incrementa para cada inserción y actualización que ocurra. Esto le permite comparar valores para determinar qué registro es más nuevo. Dado que es relativo, dado un valor de conversión de fila única, no sabrá nada, pero dados dos valores de conversión de filas, sabrá cuál es más antiguo y cuál es más nuevo, pero no por cuánto.
No sé qué tipo de datos .Net asociar con ellos para que se conviertan en Timestamp o RowVersion en la base de datos cuando se genera.
No estoy seguro, pero lo más probable es que no haya un tipo de datos que le proporcione una versión de la fila al pasar del modelo a la base de datos. Tendrá que cambiar el tipo de campo de la base de datos usted mismo, o agregar el campo al DB y llevar el registro a su modelo. También podría generar el DDL y luego modificarlo antes de crear el DB con él.
También hay otro método donde puede ampliar la funcionalidad del proceso EF derivando de sus clases. A continuación, puede elegirlo usted mismo, pero no estoy muy familiarizado con la forma de hacerlo.
Cuando vas a la inversa (DB -> modelo) del tipo es 'byte [] '(en código) y "Binario" (en EDMX). –
@Craig - cuando luego regenera la base de datos del modelo, la columna de la marca de tiempo se convierte en una columna binaria y usted pierde el comportamiento que estoy buscando. –
Para ser claros, un SQL Server 'TIMESTAMP' no es un tiempo en absoluto. ¿Es eso lo que quieres, o quieres un tiempo? Presumía que querías un 'TIMESTAMP', que de hecho es binario. –