Fluent NHibernate:如何将db整数映射到datetime列?

时间:2009-02-19 04:38:31

标签: .net nhibernate fluent-nhibernate

我有一个班级

public class Site {
  public DateTime SiteMonth {get; set;}
}

在数据库中,SiteMonth表示为yyyymm格式的整数。

有没有办法在NHibernate中映射它而不在我的Site类上引入新属性?

2 个答案:

答案 0 :(得分:2)

是 - 制作一个简单的IUserType,它在整数格式和DateTime之间进行映射。然后将type元素的property属性设置为该用户类型的AssemblyQualifiedName

Ayende对如何实现用户类型有example

哦,是的,如果你使用Fluent NHibernate来做你的映射,你可以这样做:

Map(d => d.MyFunkyWeirdLegacyDateTime)
    .SetAttribute("type", typeof(MyCustomDateTime).AssemblyQualifiedName);

答案 1 :(得分:1)

我刚刚在Fluent NHibernate Wiki中遇到this,这是在AutoMapping约定中,但在Fluent Mapping Conventions部分中,它提到了AutoMapping约定也适用于Fluent Mapping。