1

Films と HeaderItems があるとしましょう。Film には、OneToOne にリンクされた HeaderItem がある場合がありますが、常にそうとは限りません。

ここで、すべての映画をタイトルで並べ替えたいのですが、HeaderItem がリンクされた映画を HeaderItem.Position で並べ替えたいと思います (HeaderItem が null でない場合)。

Films と OneToOne に OneToMany を実装しようとしましたが、並べ替えを機能させることができます。彼は QueryExpression を String に、またはその逆に変換できません。

これを行う方法についてのアイデアはありますか?

4

2 に答える 2

1

わかりました、私はそれを理解しました。

まず最初に、Film と HeaderItem の関係を OneToMany に変更しました。

それから私は使用しました

Film.OrderedList("$ISNULL(HeaderItem.ShowOnTopInCategory, 0)-, Top10, MovieTitle");

最初に headerItems で並べた映画のリストを取得し、次に残りを取得します。

よく働く。ところで、ISNULL の前の $ 記号は、ISNULL が CoolStorage SQL パーサーによって置き換えられるのを回避します。

于 2009-09-23T14:15:38.543 に答える
0

試したことはありませんが、これは実際に機能する可能性があります。

  Film.List().OrderedBy("HeaderItem.Position,Title");

それがうまくいかない場合は、ビューを作成するか、ORDER BY 句で CASE ステートメントを使用してアドホック SQL を実行する必要があります。

于 2009-09-17T13:18:28.437 に答える