我看到一些提到MyDisjunction.Add(Restrictions.Sql("(1=1)"))
的旧帖子,但我找不到Sql函数(它是否仍然存在?)。
相反,我使用MyDisjunction.Add(Restriction.Where<MyObject>(x => x.SomeProperty == x.SomeProperty))
(!=表示错误),但这感觉就像我滥用Restriction.Where
一样。有没有比较自然的东西?
答案 0 :(得分:1)
var alwaysTrue = Expression.Sql("1 = 1");
...
.Add(alwaysTrue)
但这是来自Expression class来源的代码段:
namespace NHibernate.Criterion
{
/// <summary>
/// This class is semi-deprecated. Use <see cref="Restrictions"/>.
/// </summary>
/// <seealso cref="Restrictions"/>
public sealed class Expression : Restrictions
...