使用Castle ActiveRecord从多个表中进行查询

时间:2010-08-12 22:44:05

标签: c# castle-activerecord

所以我一直在使用Castle ActiveRecord进行我的最新项目,而且大多数情况下我非常喜欢它。现在我想弄清楚如何用AR执行一个简单的连接查询,我没有看到它。

所以我有一个Article表,一篇文章可以有很多与之关联的标签。这是Article类中的属性:

[HasAndBelongsToMany(typeof(Tag), Table="ArticleTags", ColumnKey="ArticleID", ColumnRef="TagID")]
    public IList<Tag> Tags {
            get
            {
                return m_tagList;
            }
            set
            {
                m_tagList = value;
            }
    }

有一个Tag类,其中包含标记的名称和ID。在没有显式类的情况下,AR可以处理所需的桥/关联表。

所以现在我只想获得所有具有给定标签名称的文章。到目前为止,我还没有想过如何在AR中做到这一点。 SQL很简单。试图为AR重现,而不是那么多。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好吧,在发布此消息后不久,我找到了答案。

我使用了DetachCriteria对象,然后将其放入我的Article.SlicedFindAll()函数中。

这是代码。

DetachedCriteria query = DetachedCriteria.For<Article>()
            .CreateCriteria("Tags")
                .Add(Expression.Eq("Name", tag));

整个下午都花了这么多。 叹息