Ich habe eine Shop-Floor-Anwendung geschrieben, die mit dem Herstellungsprozess befasst. Doch im Laufe weniger Monate ist es erhöht und vergrößert und jetzt brauche ich wirklich gute Menge Fehler hinzufügenSQL-Transaktion mit großer Menge von .NET-Code
Handhabung Dies ist eine vereinfachte Version der Logik fließt:
- GetWorkCenterStoreLocation - Wiederverkäufer für den ausgewählten Lieferant
- GetUsedBoMsFromRouting - die Materialliste (BOM) für das ausgewählte Produkt
- GetProductRoute - erhalten, wie weit die Produktionslinie wir sind und es später um das Produkt zu wissen, ob verwendet zu beenden oder direkt neben Arbeitsplatz passiert auf.
- AdjustStockIn - das Produkt auf Lager einstellen
- AdjustStockOut (Wenn es letzten Arbeitsplatz ist) - das Produkt Umzug in das Zentrum neben der Arbeit
Also, meine Frage ist, würden Sie SqlTransaction
in .NET schreiben oder eine große gespeicherte Prozedur schreiben, die Funktionen für jede Stufe verwendet und diese in der Transaktion einwickeln? Oder würdest du einen ganz anderen Ansatz wählen? Vielen Dank.
Mögliche Duplikat [Vor- und Nachteile all die Business-Logik in gespeicherten Prozeduren in Web-Anwendung des Haltens] (http://programmers.stackexchange.com/q/158534/ 30872) – GSerg
Mögliches Duplikat von [Ob die Geschäftslogik in Stored Procedure gestellt werden soll oder nicht?] (Http://programmers.stackexchange.com/q/113379/30872) – GSerg
Wenn Sie SP verwenden, bedeutet das, dass Sie immer ändern können Datenbank, im Falle von Änderungswünschen - das ist ein Nachteil. Habe Business-Logik in der DB auch ein fragwürdiges Design. Es ist keine gute Idee, * große * Prozeduren zu verwenden - nach etwa einem Jahr könnten Sie sich nicht mehr erinnern, was es wirklich tut. Abgesehen davon SP so gut wie .Net 'SqlTransaction'. SP könnte jedoch schneller sein. – Vladimir