Nhibernate 时间和时间

Nhibernate 时间和时间,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,你好,我有一个使用nhibernate作为orm的应用程序,我需要存储表示时间的数据, 最好的方法是什么 nhibenate不知道如何将时间域从db转换为timespan,只支持字符串。NHibernate支持。确保在映射元素上显式指定类型,因为不同的时间类型具有不同的语义,因此NHibernate猜测的可能不正确 如果您现在和现在仍然有问题,请修改您的帖子,以包含实体、映射文件的相关部分以及您遇到的实际问题 编辑: 例如,对于TimeSpan,使用以下类: public class MyCla

你好,我有一个使用nhibernate作为orm的应用程序,我需要存储表示时间的数据, 最好的方法是什么

nhibenate不知道如何将时间域从db转换为timespan,只支持字符串。

NHibernate支持。确保在映射元素上显式指定类型,因为不同的时间类型具有不同的语义,因此NHibernate猜测的可能不正确

如果您现在和现在仍然有问题,请修改您的帖子,以包含实体、映射文件的相关部分以及您遇到的实际问题

编辑:

例如,对于
TimeSpan
,使用以下类:

public class MyClass
{
    // Other properties
    // ...
    // ...
    public virtual TimeSpan MyTimeProperty { get; set; }
}
和映射文件:

<!-- other properties -->
<property name="MyTimeProperty" type="TimeSpan" /> <!-- Note: NH expects the DB type to be DbType.Int64 -->


您表示您正在尝试映射TimeSpan(“nhibenate不知道如何将时间字段从db转换为TimeSpan,仅字符串”)。如果.NET(
typeof
TimeSpan
)和数据库(
DbType.Int64
)之间的类型匹配正确,NH应该自动执行此操作(即,您不需要指定
type=“TimeSpan”
)。因此,如果它不起作用,我怀疑你的设置方式有问题。如果您发布带有完整签名的属性/字段声明、映射文件中此属性的
行以及数据库中的列定义,这可能会有所帮助。

此外,请确保对数据库中可以为null的日期时间使用null

约会时间?而不仅仅是约会时间


如果没有,NHibernate将尝试将日期初始化为默认值,该值可能不是您想要的值。

是否需要在fluent NHibernate中指定类型?