【发布时间】:2026-01-19 22:25:01
【问题描述】:
我在 ActiveRecord 中有一个 Question 类,包含以下字段:
[ActiveRecord("`Question`")]
public class Question : ObcykaniDb<Question> {
private long id;
private IList<Question> relatedQuestions;
[PrimaryKey("`Id`")]
private long Id {
get { return this.id; }
set { this.id = value; }
}
[HasAndBelongsToMany(typeof(Question), ColumnRef = "ChildId", ColumnKey = "ParentId", Table = "RelatedQuestion")]
private IList<Question> RelatedQuestions {
get { return this.relatedQuestions; }
set { this.relatedQuestions = value; }
}
}
如何编写 DetachedCriteria 查询以获取在 RelatedQuestions 集合中至少有 5 个相关问题(计数)的所有问题?
现在这给了我奇怪的结果:
DetachedCriteria dCriteria = DetachedCriteria.For<Question>()
.CreateCriteria("RelatedQuestions")
.SetProjection(Projections.Count("Id"))
.Add(Restrictions.EqProperty(Projections.Id(), "alias.Id"));
DetachedCriteria dc = DetachedCriteria.For<Question>("alias").Add(Subqueries.Le(5, dCriteria));
IList<Question> results = Question.FindAll(dc);
任何想法我做错了什么?
【问题讨论】:
标签: nhibernate hibernate activerecord criteria castle-activerecord