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)

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top