当谈到 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));
成一种方法。
这可能吗?这是如何运作的?