我正在对不同类型的ORM工具和DAL生成器进行评估。其中一个是NetTiers。
我有一个经典的DB模型,包括客户,订单,订单等。
我想在这些表上执行复杂的内连接。这是原始的SQL查询:
SELECT [Contact].LastName, SUM(OrderRow.Amount * Product.Price) TotalAmount
FROM Contact
INNER JOIN [Order] ON [Contact].ContactId=[Order].ContactId
INNER JOIN [OrderRow] ON [Order].OrderId=[OrderRow].OrderId
INNER JOIN [Product]ON OrderRow.ProductId=Product.ProductId
GROUP BY [OrderRow].OrderId, [Contact].LastName
HAVING SUM(OrderRow.Amount * Product.Price) > 100
我无法找到使用NetTiers在代码中完成此操作的方法。你能吗?
(ps:使用VS2008 SP1和SQLServer2008 SP1)
答案 0 :(得分:3)
如果没有自定义存储过程,则无法执行此操作。解决方案:http://benpowell.org/paging-and-sorting-in-a-nettiers-custom-stored-procedure/
答案 1 :(得分:0)
为什么不为此创建自定义存储过程,nettiers为TableProvider类下的存储过程生成特定方法,之后您可以简单地调用您的methd。在这种情况下,方法返回类型可能是一个DataSet(不确定!)。见here