NHibernate admite DateTime, Ticks, TimeSpan and Timestamp. Asegúrese de especificar el tipo explícitamente en su elemento de mapeo ya que los diferentes tipos de tiempo tienen una semántica diferente, por lo que lo que NHibernate está adivinando puede no ser correcto.
Si tiene problemas y sigue teniendo problemas, modifique su publicación para incluir las partes relevantes de su entidad, el archivo de asignación y el problema real que está enfrentando.
Editar:
Por ejemplo, con la clase siguiente para un TimeSpan
:
public class MyClass
{
// Other properties
// ...
// ...
public virtual TimeSpan MyTimeProperty { get; set; }
}
Y el archivo de asignación:
<!-- other properties -->
<property name="MyTimeProperty" type="TimeSpan" /> <!-- Note: NH expects the DB type to be DbType.Int64 -->
se indica que se está tratando mapear un TimeSpan ("nhibenate no sabe convertir campo de tiempo de db a un intervalo de tiempo, solo cadena"). Si esta es la concordancia de tipo correcta entre .NET (typeof
TimeSpan
) y la base de datos (DbType.Int64
), NH debería hacer esto automáticamente (es decir, no debería necesitar especificar type="TimeSpan"
). Entonces, si no funciona, sospecho que hay un problema con la configuración. Puede ser útil si publica la declaración de propiedad/campo con firma completa, la línea <property>
para esta propiedad de su archivo de mapeo y la definición de columna de la base de datos.
¿Necesito especificar el tipo en nhibernate con fluidez? –