2009-05-25 4 views
2

Ich führe heute eine Überprüfung auf verschiedene Arten von ORM-Werkzeugen und DAL-Generatoren durch. Einer von ihnen ist NetTiers.Inner joints mit NetTiers

Ich habe ein klassisches DB-Modell mit Kunden, Auftrag, Orderdetail, etc ..

ich ein komplexen innere Verknüpfung auf diesen Tabellen ausführen möchte. 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 nicht einen Weg, um dies getan in Code mit NetTiers finden konnte. Können Sie ?

(ps: mit VS2008 SP1 und SQLServer2008 SP1)

Antwort

0

Warum nicht eine benutzerdefinierte gespeicherte Prozedur für das Erstellen, NetTiers erzeugt spezifische Methoden für gespeicherte Prozeduren unter der TableProvider Klasse, danach können Sie einfach Ihre methd nennen. Der Methodenrückgabetyp wird in diesem Fall wahrscheinlich ein DataSet sein (nicht sicher!). Siehe here

+0

Ich weiß, aber das würde das Projekt an einen bestimmten Anbieter reparieren. NHibernate oder LLBLGenPro verwendet dafür eine eigene Objektabfragesprache und ist unabhängig von der Datenbank –