多对多查询出错。

Topics: Developer Forum
May 21, 2012 at 3:41 AM
Edited May 21, 2012 at 3:43 AM

 

public class Article : DbObjectModel<Article>
    {

        [Length(50)]
        public string Title { get; set; }
   
        [LazyLoad]
        public string Content { get; set; }

        [HasAndBelongsToMany(OrderBy = "Id")]
        public IList<Tag> Tags { get;private set; }

    }

 

 

    public class Tag : DbObjectModel<Tag>
    {
        public string Name { get; set; }
        [HasAndBelongsToMany(OrderBy = "Id DESC")]
        public IList<Article> Article { get; private set; }
    }

 

 Tag.Where(Condition.Empty).OrderByDescending(tag => tag.Article.Count).Select();

Article可以有多个Tag,每个Tag也可以属于多个Article,现在要获取所有的Tag并且按Article数量倒序。

报KeyNotFoundException异常。

请问错在哪里,如何修改。。谢谢。。

Coordinator
May 21, 2012 at 5:08 AM

DbEntry不支持 Column.Count 作为OrderBy的条件,只能是Column本身。

May 25, 2012 at 1:43 AM

请问我要实现Tag按照Article Count排序应该怎么做呢,弄了很久实在是作不出来。给我一个例子吧。谢谢!!

Coordinator
May 25, 2012 at 2:35 AM

这个目前只能用SQL做。