如何比较字符串与nhibernate?

时间:2011-12-20 12:39:49

标签: c# nhibernate

我正在尝试做类似的事情:

Session.Query<VoiceMailNumber>()
            .Where(x => (x.From.CompareTo(number) > 0) &&
                  (x.To.CompareTo(number)) > 0)

但是抛出System.NotSupportedException。

From和number都是字符串。

任何解决方案?

2 个答案:

答案 0 :(得分:1)

这解决了它:

Session.CreateCriteria(typeof(VoiceMailNumber))
                .Add(Expression.Le("From", number))
                .Add(Expression.Ge("To", number))
                .UniqueResult<VoiceMailNumber>();

我对此解决方案并不满意,但由于无法使用查询或查询来比较字符串,因此必须这样做。

答案 1 :(得分:0)

您可以使用以下语法完全比较字符串:

Session.Query<VoiceMailNumber>()
  .Where(x => x.From==number)
  .And(x=>x.To==number);

转换为:

select * from VoiceMailNumber where From='123456' and To='123456'