Inner 与 NetTiers 结合
我今天正在对不同类型的 ORM 工具和 DAL 生成器进行审查。 NetTiers 就是其中之一。
我有一个包含客户、订单、订单详细信息等的经典数据库模型。
我想对这些表执行复杂的内部联接。 这是原始的 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)
I am performing a review on different kind of ORM tooling and DAL generators today. One of them is NetTiers.
I have a classic DB model with customer, order, orderdetail, etc..
I want to perform a complex inner join on those tables. This is the orginal SQL query:
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
I couldn't find a way to get this done in code with NetTiers. Can you ?
(ps: using VS2008 SP1 and SQLServer2008 SP1)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果没有自定义存储过程,您就无法做到这一点。 解决方案在这里: http://benpowell.org/在-nettiers-自定义存储过程中进行分页和排序/
You can't do it without a custom stored procedure. Solution here: http://benpowell.org/paging-and-sorting-in-a-nettiers-custom-stored-procedure/
为什么不为此创建一个自定义存储过程,nettiers 在 TableProvider 类下为存储过程生成特定方法,之后您可以简单地调用您的方法。 在这种情况下,方法返回类型可能是 DataSet(不确定!)。 请参阅此处
Why not create a custom stored procedure for that, nettiers generates specific methods for stored procedures under the TableProvider class, afterwards you can simply call your methd. the method return type will probably be a DataSet in this case(not sure!). See here