2016-08-30 1 views
0

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:

  1. GetWorkCenterStoreLocation - Wiederverkäufer für den ausgewählten Lieferant
  2. GetUsedBoMsFromRouting - die Materialliste (BOM) für das ausgewählte Produkt
  3. 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.
  4. AdjustStockIn - das Produkt auf Lager einstellen
  5. AdjustStockOut (Wenn es letzten Arbeitsplatz ist) - das Produkt Umzug in das Zentrum neben der Arbeit
- die Rohstoffe am angegebenen Arbeitsplatz
  • UpdateWorkCentreRouting verwendet Passen Sie heraus

    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.

  • +0

    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

    +0

    Mögliches Duplikat von [Ob die Geschäftslogik in Stored Procedure gestellt werden soll oder nicht?] (Http://programmers.stackexchange.com/q/113379/30872) – GSerg

    +0

    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

    Antwort

    0

    Das Schreiben einer Stored Procedure, um alle reuired Funktionen auszuführen und das aus Ihrem .net Code aufzurufen, wäre einfach zu arbeiten.

    Vorteile der Verwendung von SP:

    1. Better performance. 
    2. Easy to code (as sql part stays in sql) 
    3. Easy to debug 
    4. Easy to make changes. 
    
    +0

    Und es ist möglich, Änderungen und Bugfixes vorzunehmen, ohne eine neue Version Ihres dotnet-Clients bereitstellen zu müssen. – GuidoG

    +0

    Warum sollte jemand dies ablehnen? Darf ich den Grund erfahren?? –

    +3

    Nicht mein Downvote, aber Ihre Punkte 2,3 und 4 sind zumindest diskutierbar – Steve

    Verwandte Themen