Intérieur se joint à NetTiers
Question
J'effectuer un examen sur différents types d'outils ORM et générateurs DAL aujourd'hui. L'un d'eux est NetTiers.
J'ai un modèle DB classique avec le client, l'ordre, OrderDetail, etc ..
Je veux effectuer une jointure interne complexe sur les tables. Ceci est la orginal requête 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
Je ne pouvais pas trouver un moyen d'obtenir ce fait dans le code avec NetTiers. Pouvez-vous?
(ps: en utilisant VS2008 SP1 et SP1 SQLServer2008)
La solution
Vous ne pouvez pas le faire sans une procédure stockée personnalisée. Solution ici: http://benpowell.org/ paging-et-tri-in-a-nettiers-stockée sur mesure procédure /
Autres conseils
Pourquoi ne pas créer une procédure stockée personnalisée pour que, nettiers génère des méthodes spécifiques pour les procédures stockées sous la classe TableProvider, après vous pouvez simplement appeler votre methd. le type de retour de la méthode sera probablement un DataSet dans ce cas (pas sûr!). Voir