我正在用 c# 开发一个 MVC3 应用程序,并且我将 NHibernate 用于 ORM 部分。我需要生成所有注册客户及其最新订单的列表。在应用程序方面,这需要遍历所有客户并检索他们的所有订单以提取最新的订单。不必要的开销,不是吗?
在数据库上,我可以创建一个视图并相应地为实体建模,但由于无法填充视图,我无法创建新客户。那么,您有什么想法或最佳实践是如何解决这些问题的?这是一个可以提供所需信息的 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)
很感谢任何形式的帮助!
最好的问候,马丁