如何在NHibernate中合并两个标准/查询对象
我有一个查询对象对象分离的和第二个ICriteria对象标准如何在NHibernate中合并两个标准/查询对象,nhibernate,Nhibernate,我有一个查询对象对象分离的和第二个ICriteria对象标准 ICriteria criteria = session.CreateCriteria<Theme>() .CreateAlias("InceptionCycle", "ic", JoinType.LeftOuterJoin) .CreateAlias("ClosingCycle", "cc", JoinType.LeftOuterJoin)
ICriteria criteria = session.CreateCriteria<Theme>()
.CreateAlias("InceptionCycle", "ic", JoinType.LeftOuterJoin)
.CreateAlias("ClosingCycle", "cc", JoinType.LeftOuterJoin)
.Add(Restrictions.Le("ic.CycleMonth", cycleDate))
.Add(Restrictions.Or(
Restrictions.IsNull("cc.ID"),
Restrictions.Ge("cc.CycleMonth", cycleDate)));
QueryOver<Theme, Theme> detached = new GlobalTheme().GetQuery();
// and now how to make new query : detached AND criteria
ICriteria criteria=session.CreateCriteria()
.CreateAlias(“InceptionCycle”、“ic”、JoinType.LeftOuterJoin)
.CreateAlias(“ClosingCycle”、“cc”、JoinType.LeftOuterJoin)
.Add(Restrictions.Le(“ic.CycleMonth”,cycleDate))
.添加(限制)或(
Restrictions.IsNull(“cc.ID”),
通用电气(“抄送CycleMonth”,cycleDate));
QueryOver distached=new GlobalTheme().GetQuery();
//现在如何进行新的查询:分离和条件
是否可以在这两个条件对象之间合并/连接/添加和条件?类似这样的内容(当然,下面的代码行不能作为Add方法dot acceptICriteriatype):
detached.DetachedCriteria.GetExecutableCriteria(会话).Add(标准).List();
我想要实现的原因是:
- GlobalTheme查询具有一些可以与其他标准混合的条件
- ICriteria标准还有其他条件,也可以与其他标准混合使用(将来我会将其重构为QueryObject)
var results = session.CreateCriteria<AnEntity>()
.Add(aSpecificRestriction)
.AddGenericFilters()
.List();
public void AddGenericFilters(this ICriteria criteria)
{
criteria.Add(whatever);
return criteria;
}
var results=session.CreateCriteria()
.Add(特殊限制)
.AddGenericFilters()
.List();
public void AddGenericFilters(此ICriteria标准)
{
标准。添加(无论什么);
退货标准;
}
var results = session.CreateCriteria<AnEntity>()
.Add(aSpecificRestriction)
.AddGenericFilters()
.List();
public void AddGenericFilters(this ICriteria criteria)
{
criteria.Add(whatever);
return criteria;
}