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)

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top