Лично я буду хранить дату в объекте в формате UTC, а затем конвертировать в объект при чтении / записи.Затем вы можете сослаться на вспомогательное поле, которое ваше свойство использует в отображении (это не так "свободно", чтобы сделать это таким образом, но вы можете использовать FluentNH, чтобы отобразить это).Если значение UTC может иметь значение для вас в коде, просто предоставьте его.
public class MyClass
{
...
//Don't map this field in FluentNH; this is for in-code use
public DateTime MyDate
{
get{return MyDateUTC.ToLocalTime();}
set{MyDateUTC = value.ToUniversalTime();}
}
//map this one instead; can be private as well
public DateTime MyDateUTC {get;set;}
}
...
public class MyClassMap:ClassMap<MyClass>
{
public MyClassMap()
{
Map(x=>x.MyDateUTC).Column("MyDate");
//if you made the UTC property private, map it this way instead:
Map(Reveal.Member<DateTime>("MyDateUTC")).Column("MyDate");
}
}