【发布时间】:2012-06-22 20:50:57
【问题描述】:
在谈到 NHibernate 时,我仍然是一个 n00b。假设我有以下内容:
var myCriteria = this.Session.CreateCriteria(typeof(SomeModel))
.Add(Restrictions.Eq("SomeProperty", someValue);
然后,假设我想以可重用的方式添加条件。意思是,我想制定一个自定义标准。我在网上看到的关于这方面的信息非常非常少。具体来说,我想转以下:
var myCriteria = this.Session.CreateCriteria(typeof(SomeModel))
.Add(Restrictions.Eq("SomeProperty", someValue)
.CreateAlias("SomeClass", "alias", JoinType.LeftOuterJoin)
.Add(Restrictions.Eq("alias.SomeOtherProperty", someOtherValue));
如下:
var myCriteria = this.Session.CreateCriteria(typeof(SomeModel))
.Add(Restrictions.Eq("SomeProperty", someValue)
.Add(this.GetAliasCriterion());
从而提取
.CreateAlias("SomeClass", "alias", JoinType.LeftOuterJoin)
.Add(Restrictions.Eq("alias.SomeOtherProperty", someOtherValue));
进入一个方法。
这可能吗?这是如何工作的?
【问题讨论】:
-
你为什么不尝试使用 DetachedCriteria
标签: .net nhibernate nhibernate-criteria