2014-07-18 8 views
0

MyDisjunction.Add(Restrictions.Sql("(1=1)"))을 언급하는 몇 개의 오래된 게시물을 보았지만 Sql 함수를 찾을 수 없습니다 (여전히 존재합니까?).nhibernate에서 분리/결합에 참/거짓을 추가하는 방법은 무엇입니까?

대신 MyDisjunction.Add(Restriction.Where<MyObject>(x => x.SomeProperty == x.SomeProperty)) (! = false)을 사용하고 있는데, 이것은 Restriction.Where의 사용을 남용하고있는 것처럼 느껴집니다. 더 자연스러운 것이 있습니까?

답변

1

확인 class Expression

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 
    ... 
+0

되지 않는 (또는 반 정도)되지 않은 모든 옵션을? – Lawtonfogle

+0

나는 depricated 대답은 아무 것도없는 것보다 낫다는 것을 받아들이지 만, 여전히 비 (반) 비추천 솔루션에 개방되어 있습니다. – Lawtonfogle