0

C# で MVC3 アプリケーションを開発しており、ORM 部分に NHibernate を使用しています。すべての登録済み顧客とその最新の注文のリストを生成する必要があります。アプリケーション側では、すべての顧客を調べてすべての注文を取得し、最新の注文を抽出する必要があります。不要なオーバーヘッドですね。

データベースでは、ビューを作成し、それに応じてエンティティをモデル化できますが、ビューにデータを入力できないため、新しい顧客を作成できません。では、そのような問題をどのように解決したかについてのアイデアやベスト プラクティスはありますか? 必要な情報を提供する SQL クエリを次に示します。

SELECT c.id, c.name, c.description, m.ordernumber AS latest_order, m.unixtime, m.id AS latest_order_id
FROM dbo.customer c
LEFT JOIN dbo.mailorder m ON c.id = m.customer_id
WHERE m.unixtime = (SELECT MAX(unixtime) FROM dbo.mailorder)

どんな助けでも大歓迎です!

よろしく、マーティン

4

1 に答える 1

2

次のような式を使用して、顧客の最後の注文を取得できます。

<property name="LatestOrder" formula="(SELECT MAX(dbo.mailorder.unixtime) FROM dbo.mailorder where dbo.mailorder.customer_id = ID)" />
于 2012-06-13T08:41:15.027 に答える