1

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

        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 方面我的列是“时间”类型,而在 .NET 方面,属性是 DateTime 类型?(可以为空)。

4

1 回答 1

1

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

于 2012-10-05T14:39:55.503 回答