如何使用 Castle ActiveRecord 在两个表之间进行 JOIN

发布于 2024-09-24 05:16:35 字数 154 浏览 1 评论 0原文

我正在尝试使用 DetachedCriteria 在 ActiveRecord 中执行联接。我似乎无法让它发挥作用。传输对象内部没有定义任何关系。在 SQL 中我应该能够做到这一点,但 ActiveRecord 似乎想要强迫我定义关系。这是什么交易?

有人可以指点我一些文档吗?

I'm trying to perform a join in ActiveRecord using DetachedCriteria. I can't seem to make it work. There is no relationship defined inside the transfer objects. In SQL I should be able to do this but it seems that ActiveRecord wants to force me to define the relationship. What is the deal?

Can someone point me to some documentation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦萦几度 2024-10-01 05:16:35

如果其他方法都不起作用,那么坚持总会起作用。我弄清楚了如何做到这一点,而且非常简单:

DetachedCriteria SubmissionsQuery = DetachedCriteria.For<Submission>();

SubmissionsQuery.Add(Restrictions.Eq("Kind", SubmissionKind.Question));
SubmissionsQuery.SetProjection(Projections.Property("Id"));

DetachedCriteria Filter = DetachedCriteria.For<Answers>();
Filter.Add(Subqueries.PropertyIn("CommonId", SubmissionsQuery));
Filter.SetFirstResult(Start);
Filter.SetMaxResults (Size);

ActiveRecordMediator<Answers>.FindAll(Filter);

我希望下一个人会发现这很有用。

If nothing else works, persistence always does. I worked out how to do it and it's very simple:

DetachedCriteria SubmissionsQuery = DetachedCriteria.For<Submission>();

SubmissionsQuery.Add(Restrictions.Eq("Kind", SubmissionKind.Question));
SubmissionsQuery.SetProjection(Projections.Property("Id"));

DetachedCriteria Filter = DetachedCriteria.For<Answers>();
Filter.Add(Subqueries.PropertyIn("CommonId", SubmissionsQuery));
Filter.SetFirstResult(Start);
Filter.SetMaxResults (Size);

ActiveRecordMediator<Answers>.FindAll(Filter);

I hope the next person finds this useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文