Это мой первый пост здесь ..
Я пишу программу на MVC3, которая имеет службу WCF, которая действует как уровень доступа к данным.В моем DAL я должен делать какие-то «пакетные» вставки и обновления ... особенно для заказов, например ... скажем, один заказ состоит из нескольких позиций и может иметь несколько способов оплаты и т. Д., Поэтому, когда я вставляю новый заказ, яВам нужно будет вставить все элементы, относящиеся к этому порядку и т. д.
Поэтому я ищу лучший способ и выполнимый метод, позволяющий запускать несколько хранимых процедур, например одну, которая будетвставить ордер, другой, который будет вставлять его элементы и т. д.
Таблицы Order
и Item
связаны между собой третьей таблицей с именем Order_Items
, которая будет иметь (fk) order_id
, (fk) item_id
, qty
, price
..
Я знаю, что могу запустить несколько команд, изменив текст команды и выполнив запрос без транзакции ... но я хотел бы запуститьхранимые процедуры вместо жестких текстовых команд ... или я могу запустить процедуры, сделав текст команды что-то вроде
cmd.CommandText = 'exec sp_insert_order @order_number @order_date ...'
cmd.ExecuteNonQuery();
, а затем зациклить элементы, скажем
foreach (string s in insert_items)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
все это в пределахсделка, а затем сделай коммит ... но я не чувствую, что это такой чистый способ делать вещи ... может кто-нибудь, пожалуйста, поделится своим мнением.