Einfache Aussagen wie diese: "Select x,y,z From Customer" befinden sich in der Datenzugriffsschicht.
Wenn es eine Logik in der Abfrage gäbe, wie z. B. das Filtern nach Kunden aus einer bestimmten Stadt, müsste ich die Filterung in meine Geschäftsschicht einbauen und sie in der speicherinternen Kundensammlung durchführen.
Wenn ich mir jetzt die Micro ORM Tools anschaue, zeigen sie oft Sql-Anweisungen mit Logik wie:
var a = db.SingleOrDefault<Product>("SELECT * FROM SalesLT.Product WHERE ProductID = @0, 123);
Wo soll ich jetzt diese Codezeile einfügen? In der Geschäftsschicht oder in der Datenzugriffsschicht?
Es gibt eine Logik innerhalb der Anweisung, die in die Geschäftsschicht gehört. Aber dann habe ich
Select-Anweisungen innerhalb meiner BLL?
Das ist alles sehr verwirrend.