Frage
Ich bin eine Rezension für andere Art von ORM Werkzeugen durchführen und DAL-Generatoren heute. Einer von ihnen ist NetTiers.
Ich habe ein klassisches DB-Modell mit Kunden, Auftrag, Orderdetail, etc ..
Ich möchte eine komplexe innere Verknüpfung auf diesen Tabellen auszuführen. Dies ist die ursprüngliche SQL-Abfrage:
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
Ich kann nicht einen Weg finden, diese mit NetTiers in Code zu erhalten getan. Können Sie?
(ps: mit VS2008 SP1 und SQLServer2008 SP1)
Lösung
Sie können es nicht ohne eine benutzerdefinierte gespeicherte Prozedur. Lösung hier: http://benpowell.org/ Paging-und Sortier-in-a-NetTiers-custom-gespeichert-Prozedur /
Andere Tipps
Warum nicht eine benutzerdefinierte gespeicherte Prozedur für das, erzeugt NetTiers spezifische Methoden für gespeicherte Prozeduren unter der TableProvider Klasse, danach Sie einfach Ihre methd anrufen können. der Methode Rückgabetyp wird wahrscheinlich ein Datensatz in diesem Fall (nicht sicher!). Siehe hier