【发布时间】:2010-09-16 13:26:54
【问题描述】:
我的 SQL Server 2008 数据库中有一个包含时间列的表。
我试图映射到的对象的属性是 TimeSpan。
我怎样才能告诉 FluentNHibernate 使用 TimeAsTimeSpan NHibernate 类型,这样我就不会有转换问题?
【问题讨论】:
标签: nhibernate sql-server-2008 fluent-nhibernate nhibernate-mapping
我的 SQL Server 2008 数据库中有一个包含时间列的表。
我试图映射到的对象的属性是 TimeSpan。
我怎样才能告诉 FluentNHibernate 使用 TimeAsTimeSpan NHibernate 类型,这样我就不会有转换问题?
【问题讨论】:
标签: nhibernate sql-server-2008 fluent-nhibernate nhibernate-mapping
这对我有用:
Map(x => x.TimeFrom)
.CustomType("TimeAsTimeSpan");
【讨论】:
TimeSpan 不能代表null。 TimeSpan?可以。
如果您使用的是约定,那么这对我来说就可以了:
public class PropertyConvention : IPropertyConvention
{
public void Apply(IPropertyInstance instance)
{
if (instance.Property.PropertyType == typeof(TimeSpan))
instance.CustomType( "TimeAsTimeSpan" );
}
}
【讨论】:
您应该可以使用CustomType 对其进行映射。
【讨论】: