製造プロセスを扱うショップフロアアプリケーションを作成しました。しかし、数ヶ月かけて、それが増加し、増加したサイズで、今私は本当にこれは、ロジックの簡易版である大量の.NETコードを使用したSQLトランザクション
エラー処理の良い量を追加する必要がありますフロー:
- GetWorkCenterStoreLocation - 選択のための店舗の場所選択した製品
- GetProductRouteの部品コスト(BOM) - - サプライヤー
- GetUsedBoMsFromRoutingはどのくらい生産ラインの下の私たちは、製品を仕上げるか、単に次の作業の中心部に渡すように天気をを知るために、後で使用されます取得します。
- AdjustStockIn - (それは最後のワークセンターだ場合)株式に製品を調整し
- AdjustStockOut - 次のワークセンター
私の質問は、SqlTransaction
を.NETに書くか、または各ステージの関数を使用してトランザクションでラップする大規模なストアドプロシージャを記述することですか?あるいは全く違ったアプローチをしますか?ありがとう。
[Webアプリケーションに格納されている手順ですべてのビジネスロジックを保持する長所と短所]の可能な重複(http://programmers.stackexchange.com/q/158534/ 30872) – GSerg
[ストアドプロシージャにビジネスロジックを入れるかどうか]の可能な複製(http://programmers.stackexchange.com/q/113379/30872) – GSerg
SPを使用するときは、データベースの変更要求があった場合には、それは欠点です。 DB内のビジネスロジックも疑問のある設計です。 *大規模な手順を使用することはお勧めできません。例えば、実際に何が起きているのか覚えていないかもしれません。 .Net 'SqlTransaction'と同じくらい良いSP方法を除いて。 SPはより速いかもしれません。 – Vladimir