not in
NHLambdaExtensionsを使用してNHibernateCriteriaAPIで句を作成しようとしています。ドキュメントを読んで、私は次のことをin
行うことで条項を実装することができました
.Add(SqlExpression.In<Zone>(z => zoneAlias.ZoneId, new int[] { 1008, 1010 }))
ただし、ラップするとSqlExpression.Not
エラーが発生します
Error 5 The best overloaded method match for 'NHibernate.LambdaExtensions.SqlExpression.Not<oms_dal.Models.Zone>(System.Linq.Expressions.Expression<System.Func<oms_dal.Models.Zone,bool>>)' has some invalid arguments
Error 6 Argument '1': cannot convert from 'NHibernate.Criterion.ICriterion' to 'System.Linq.Expressions.Expression<System.Func<oms_dal.Models.Zone,bool>>'
私はこのコードを使用しています
.Add(SqlExpression.Not<Zone>(SqlExpression.In<Zone>(x => zoneAlias.ZoneId, new int[] { 1008, 1010 })))
どうすればこれを達成できますか?通常のCriteriaAPIを使用して、これを行うことができました
.Add(Restrictions.Not(Restrictions.In("z.ZoneId", new[] { 1008, 1010 })))