0
Blog
    Id
    ...
    List of Posts
    Last Post           <---
    Most Viewed Post    <---

Post
    Id
    ...
    Blog (the blog it belongs to)

List of Posts以前はエンティティにa しかありませんでしたBlogが、次のようにいくつかのブログ テーブルを表示する必要がありました。

Blog Id  | ... |  Last Post  | Most Viewed Post
----------------------------------------------
   1     | ... |  Something  |     Post 1
   1     | ... |  Something  |     Post 10
   1     | ... |  Something  |     Post 5
   1     | ... |  Something  |     Post 4

のみを使用しList of Posts、 のプロパティとして他のフィールドを持ち、Blogからメモリ内でそれらを計算しますが、SQL クエリでどちらかまたはそれでList of Posts並べ替える方法を見つけることができませんでした(ページネーションを使用して、列で並べ替えていますなど)Last PostMost Viewed Post

問題がある場合に備えてNHibernatewith Active Recordwithを使用しています。MySQL

4

1 に答える 1

0

計算されたプロパティを式としてマップします

Refernce(x => x.LastPost).Formula("(Select Max(p.Id) FROM post p WHERE p.BlogId = Id)");

その後、クエリでそれらを使用できます

于 2013-03-22T12:52:50.477 に答える