Interno si unisce con NetTiers
Domanda
sto eseguendo una recensione su diversi tipi di ORM utensili e generatori DAL oggi. Uno di loro è NetTiers.
Ho un modello DB classico con il cliente, ordine, OrderDetail, etc ..
Voglio eseguire un complesso inner join su quei tavoli. Questa è la query SQL originale:
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
non riuscivo a trovare un modo per ottenere questo fatto in codice con NetTiers. Puoi?
(ps: usando VS2008 SP1 e SQLServer2008 SP1)
Soluzione
Non si può fare a meno di una stored procedure personalizzata. Soluzione qui: http://benpowell.org/ paging-e-di smistamento-in-a-NetTiers-custom-immagazzinata-procedure /
Altri suggerimenti
Perché non creare una stored procedure personalizzata per questo, NetTiers genera metodi specifici per le stored procedure sotto la classe TableProvider, poi si può semplicemente chiamare il methd. il tipo di metodo di ritorno sarà probabilmente un DataSet in questo caso (non è sicuro!). Vedere qui