Hola gente:
Necesitaría por favor, si alguien conoce como mapear con LINQ tablas que
contengan campos de control de versiones de registros de tipo TimeStamp.
Antiguamente, en la entidad tenía algo como esto:
...
private ulong versionDeEntidad;
...
public ulong VersionDeEntidad {
get {return versionDeEntidad;}
set {versionDeEntidad = (ulong) value;}
}
En el mapeador de la entidad, casteaba este campo con:
BitConverter.ToUInt64((byte[])registro["VersionDeRegistro"], 0)
De esta manera, en mis SPs de actualización y eliminación del CRUD, además
de enviarle el ID de la PK, tmb le enviaba la version y en el where deberían
coincidir ambos.
Pues bien... Como hago con LINQ ???
Es con lo único que me estoy encontrando con problemas (hasta ahora).
Se puede hacer de forma automática ?
Probe con:
/// <summary>
/// Obtiene o establece la versión de la entidad.
/// </summary>
[Column(Name="VersionDeRegistro", Storage="versionDeEntidad",
DbType="*timestamp
*NOT NULL", IsVersion=true)]
public int VersionDeEntidad {
get { return versionDeEntidad; }
//set { versionDeEntidad = (ulong)value; }
}
... pero no me da bola...
siquiera mapea el valor de lectura. Lo puse como ulong, uint, incluso int
(como este caso) pero no pude hacerlo andar y no encuentro documentación que
funcione.
A propósito, no dejo de sorprenderme con LINQ :))
Desde ya, muchísimas gracias y saludos a todos.
Fabián Alejandro Pallares