@@ -342,6 +342,11 @@ public QueryOver<TRoot,TSubType> AndNot(Expression<Func<bool>> expression)
342342 return AddNot ( expression ) ;
343343 }
344344
345+ public QueryOver < TRoot , TSubType > AndNot ( ICriterion expression )
346+ {
347+ return AddNot ( expression ) ;
348+ }
349+
345350 public QueryOverRestrictionBuilder < TRoot , TSubType > AndRestrictionOn ( Expression < Func < TSubType , object > > expression )
346351 {
347352 return new QueryOverRestrictionBuilder < TRoot , TSubType > ( this , ExpressionProcessor . FindMemberProjection ( expression . Body ) ) ;
@@ -377,6 +382,11 @@ public QueryOver<TRoot,TSubType> WhereNot(Expression<Func<bool>> expression)
377382 return AddNot ( expression ) ;
378383 }
379384
385+ public QueryOver < TRoot , TSubType > WhereNot ( ICriterion expression )
386+ {
387+ return AddNot ( expression ) ;
388+ }
389+
380390 public QueryOverRestrictionBuilder < TRoot , TSubType > WhereRestrictionOn ( Expression < Func < TSubType , object > > expression )
381391 {
382392 return new QueryOverRestrictionBuilder < TRoot , TSubType > ( this , ExpressionProcessor . FindMemberProjection ( expression . Body ) ) ;
@@ -774,7 +784,12 @@ private QueryOver<TRoot,TSubType> AddNot(Expression<Func<bool>> expression)
774784 return this ;
775785 }
776786
777-
787+ private QueryOver < TRoot , TSubType > AddNot ( ICriterion expression )
788+ {
789+ criteria . Add ( Restrictions . Not ( expression ) ) ;
790+ return this ;
791+ }
792+
778793 IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . And ( Expression < Func < TSubType , bool > > expression )
779794 { return And ( expression ) ; }
780795
@@ -787,7 +802,10 @@ IQueryOver<TRoot,TSubType> IQueryOver<TRoot,TSubType>.And(ICriterion expression)
787802 IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . AndNot ( Expression < Func < TSubType , bool > > expression )
788803 { return AndNot ( expression ) ; }
789804
790- IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . AndNot ( Expression < Func < bool > > expression )
805+ IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . AndNot ( Expression < Func < bool > > expression )
806+ { return AndNot ( expression ) ; }
807+
808+ IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . AndNot ( ICriterion expression )
791809 { return AndNot ( expression ) ; }
792810
793811 IQueryOverRestrictionBuilder < TRoot , TSubType > IQueryOver < TRoot , TSubType > . AndRestrictionOn ( Expression < Func < TSubType , object > > expression )
@@ -811,6 +829,9 @@ IQueryOver<TRoot,TSubType> IQueryOver<TRoot,TSubType>.WhereNot(Expression<Func<T
811829 IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . WhereNot ( Expression < Func < bool > > expression )
812830 { return WhereNot ( expression ) ; }
813831
832+ IQueryOver < TRoot , TSubType > IQueryOver < TRoot , TSubType > . WhereNot ( ICriterion expression )
833+ { return WhereNot ( expression ) ; }
834+
814835 IQueryOverRestrictionBuilder < TRoot , TSubType > IQueryOver < TRoot , TSubType > . WhereRestrictionOn ( Expression < Func < TSubType , object > > expression )
815836 { return new IQueryOverRestrictionBuilder < TRoot , TSubType > ( this , ExpressionProcessor . FindMemberProjection ( expression . Body ) ) ; }
816837
0 commit comments