Использование Castle ActiveRecord для запроса из нескольких таблиц - PullRequest
0 голосов
/ 13 августа 2010

Так что я использовал 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, который содержит имя и идентификатор тега. Есть требуемая таблица моста / ассоциации, которую AR может обрабатывать без явного класса.

Так что теперь я просто хочу получить все статьи с заданным именем тега. До сих пор я не понял, как это сделать в AR. SQL легко. Попытки воспроизвести для AR не так уж и много.

Любая помощь здесь будет высоко ценится.

1 Ответ

0 голосов
/ 13 августа 2010

Итак, вскоре после публикации я нашел свой ответ.

Я использовал объект DetachCriteria и затем поместил его в свою функцию Article.SlicedFindAll ().

Вот код.

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

Потратил на это весь день. Вздох

...