2009-07-23 11 views
3

私は条件に制限を加えないNHibernateの基準を探しています。その理由は、いくつかの入力パラメータを基準に追加する基準に変換するメソッドがあるからです。制約を適用する必要がない入力パラメータのコンステレーションがあります。したがって、何らかのダミー基準を戻したいと思います。実際に何もしないNHibernate基準がありますか?

NHibernateのようなものがありますか?

よろしく、
オリバーハナッピ

+0

制限なし、タイプ?それから空の基準オブジェクトを返してください! –

答えて

0

はよくあなたは「ID」の主キーであると、エンティティに対する照会場合Restrictions.IsNotNullのようなもの(「ID」)を行うことができます(そのためnullになることはありません)。論理的な制限がないと評価されるものは、要件に基づいて使用できます。

0

必要に応じて条件を追加することができます。したがって、パラメータがnullでない場合はパラメータをチェックし、条件を追加します。例を参照してください:Hibernate Criteria Queries

3

あなたは常に真である空の接続詞を使用することができますから取られたこのの

Criteria cr = session.createCriteria(Employee.class) 
cr.add(Restrictions.like("firstName", "Bob%")); 

if (par_salary.IsNotNullOrEmpty()) 
{ 
    cr.add(Restrictions.eq("salary", par_salary)); 
} 
List results = cr.list(); 

部分を(それが解決への「1 = 1」)。

例えば、

ICriterion conditionalCriteria = includeCriteria 
    ? Restrictions.Eq("someEntity.Field", variable) 
    : (ICriterion) Restrictions.Conjuction(); 

var query = Session 
    .CreateCriteria<SomeEntity>("someEntity") 
    .Add(conditionalCriteria) 
    .SetResultTransformer(Transformers.AliasToBean<SomeEntity>()) 
    .List<SomeEntity>(); 
関連する問題