【发布时间】:2012-04-27 22:51:09
【问题描述】:
我正在使用 Fluent NHibernate (1.3.0.727) 的最新 NuGet 包,但我仍然遇到我认为已在 NHibernate 3.2 中修复的问题(最新的 Fluent 使用 NHibernate 3.3)。数据库是 Azure 上的 SQL Server 2008。
当我运行将 .NET TimeSpan 与 sql Time 字段进行比较的查询时,它会引发以下异常:
数据类型时间和日期时间在大于运算符中不兼容。
这是一个示例查询:
TimeSpan ts = new TimeSpan(1, 0, 0);
List<Message> messages = messageRepo.FilterBy(m => m.SendTime > ts).ToList();
这是我的消息类 sn-p:
public class Message
{
public virtual int Id { get; set; }
[DataType(DataType.Time)]
public virtual TimeSpan? SendTime { get; set; }}
}
以下是相关的映射细节:
public class MessageMap : ClassMap<Message>
{
public MessageMap()
{
Table("Message");
LazyLoad();
Id(x => x.Id).GeneratedBy.Identity().Column("MessageID");
Map(x => x.SendTime).Column("SendTime").CustomType("TimeAsTimeSpan");
}
}
我已经到处搜索并尝试了我能找到或想到的一切。也许我只是错过了一些明显的东西?感谢您的帮助。
【问题讨论】:
标签: nhibernate fluent-nhibernate