Я написал приложение для цеха, которое занимается производственным процессом. Тем не менее, в течение нескольких месяцев она увеличилась и увеличилась в размерах и теперь мне действительно нужно добавить хорошее количество обработкиSQL-транзакция с большим количеством кода .NET
Это упрощенная версия логики ошибки потоки:
- GetWorkCenterStoreLocation - магазин место для выбранного поставщик
- GetUsedBoMsFromRouting - Билл материала (BOM) для выбранного продукта
- GetProductRoute - получить как далеко вниз по производственной линии мы и используется позже, чтобы знать Wether закончить продукт или просто перейти на следующий рабочий центр.
- AdjustStockIn - Настройка продукта на складе (если это последняя работа в центре)
- AdjustStockOut - Отрегулировать из исходных материалов, используемых в указанном рабочем центре
- UpdateWorkCentreRouting - Переместить изделие к следующему рабочему месту
Итак, на мой вопрос: напишите ли вы SqlTransaction
в .NET или напишите большую хранимую процедуру, которая использует функции для каждого этапа и обертывает это в транзакции? Или вы бы сделали совершенно другой подход? Благодарю.
Возможного дубликат [Плюсы и минусы проведения все бизнес-логики в хранимых процедурах в вебе-приложении] (http://programmers.stackexchange.com/q/158534/ 30872) – GSerg
Возможный дубликат [Будь ли бизнес-логика в хранимой процедуре или нет?] (Http://programmers.stackexchange.com/q/113379/30872) – GSerg
Когда вы используете SP - это означает, что вы всегда можете изменить базы данных, в случае любых запросов на изменение - это недостаток. У бизнес-логики в БД тоже сомнительный дизайн. Не рекомендуется использовать * Большие * процедуры - после одного года вы, возможно, не сможете вспомнить, что он на самом деле делает. Помимо этого способа SP, как и .Net 'SqlTransaction'. SP может быть быстрее, хотя. – Vladimir