Actually the NHibernate reference states that the DateTime nhibernate type will store the .NET DateTime as an SQL datetime truncated at the second level (no millisecond granularity)
As such it provides the Timestamp
NHibernate type (type="Timestamp"
in the mapping) which will store a .NET DateTime
as an SQL datetime
without truncation. Note here that an SQL timestamp
datatype is not needed and will infact break if you have more than one timestamp
column in one table. It’s thus important to differentiate between the sql-type
and type
attributes in the NHibernate mapping.
Additionally, note that if you are working with filters, the same rule applies at the filter definition: If you specify a DateTime
parameter, the parameter’s value will be truncated without milliseconds.
Check out chapter 5.2.2. Basic value types, Table 5.3 System.ValueType Mapping Types.