4

我想知道如何在使用 QueryOver 进行选择后对一组结果进行排序。我的查询如下:

CurrentSession.QueryOver<Book>()
    .Where(b => b.Author.Name = "SimpleName")
    .Select(Projections.Distinct(Projections.Property<Book>(b => b.Genre)))
    .OrderBy<Genre>(g => g.Name) // this extension does not exist! How do I order for a Genre?
    .List<Genre>()

我能怎么做?

4

1 回答 1

7

您的查询一开始就不起作用。您首先需要进行连接,然后您可以进行订购并选择投影。

Author author = null;
Genre genre = null;
CurrentSession.QueryOver<Book>()
     .JoinAlias(b => b.Author, author)
     .JoinAlias(b => b.Genre, genre)
     .Where(() => author.Name == "SimpleName")
     .OrderBy(() => genre.Name)
     .Select(Projections.Distinct(Projections.Property<Book>(b => b.Genre)))
     .List<Genre>();
于 2011-05-17T17:54:05.197 回答