适用于SQL2008日期和时间类型的流畅nHibernate CustomType

时间:2012-09-26 12:16:04

标签: fluent-nhibernate-mapping

我对我写错误的一些代码感到困惑......

        Map( x => x.StartTime )
            .Access.Property()
            .CustomType( "time" )
            .Generated.Never()
            .Column( "StartTime" )
            .Default( "(CONVERT([time],getdate(),(0)))" )
            .Nullable()
            .Not.LazyLoad();

由于某种原因,它工作正常,但当我意识到我打算编写CustomSqlType而不是CustomType并更改它时,它停止工作...另外,如果我只删除行CustomType(“time”)它也会停止工作。让它工作的唯一方法就是按照它的方式使用它,我不明白为什么:(

编辑:忘了提到在SQL端我的列是“time”类型,而在.NET端,属性是DateTime类型? (可为空的)。

1 个答案:

答案 0 :(得分:1)

NHibernate使用ITypes来回调整属性类型到列值。有几种内置类型可供使用,例如NHibernate.Type.TimeType,其名称为“time”。