0

我有一堂课

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

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

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

4

2 回答 2

2

是的 - 制作一个简单IUserType的整数格式和日期时间之间的映射。然后将元素type上的属性设置为该用户类型的。propertyAssemblyQualifiedName

Ayende 有一个关于如何实现用户类型的示例。

哦,是的,如果您使用 Fluent NHibernate 进行映射,您可以这样做:

Map(d => d.MyFunkyWeirdLegacyDateTime)
    .SetAttribute("type", typeof(MyCustomDateTime).AssemblyQualifiedName);
于 2009-02-19T05:27:45.640 回答
1

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

于 2009-02-19T06:53:24.110 回答