如何比较字符串与nhibernate

本文关键字:字符串 nhibernate 比较 何比较 | 更新日期: 2023-09-27 18:18:18

我想做的是:

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

但是这会抛出System.NotSupportedException。

From和number都是字符串。

解决方案吗?

如何比较字符串与nhibernate

这就解决了:

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

我对这个解决方案不是很满意,但是由于无法使用query或queryover来比较字符串,所以它必须这样做。

您可以使用以下语法准确地比较字符串:

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

翻译:

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