所以我一直在使用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重现,而不是那么多。
非常感谢任何帮助。
答案 0 :(得分:0)
好吧,在发布此消息后不久,我找到了答案。
我使用了DetachCriteria对象,然后将其放入我的Article.SlicedFindAll()函数中。
这是代码。
DetachedCriteria query = DetachedCriteria.For<Article>()
.CreateCriteria("Tags")
.Add(Expression.Eq("Name", tag));
整个下午都花了这么多。 叹息