在應用程序塊中遇到了一些問題,試圖找出在事務中執行3個SP的邏輯方法。企業應用程序數據塊事務
到目前爲止,我有:
SqlDatabase db = new SqlDatabase(this.ConnectionString);
DbCommand insertMessageDetailCommand = db.GetStoredProcCommand("InsertMessageDetail");
看起來不錯......從這個角度事情變得有點混亂,很明顯,我需要添加SP參數,我通過做:
db.AddInParameter.......
讓我困惑的是 - 注意你在哪裏添加參數 - 到SqlDatabase對象。
所以......這是一切優秀和良好,即使在交易中的第一項:
DbTransaction transaction = connection.BeginTransaction();
try
{
//INSERT Message Info
int PK = Convert.ToInt32(db.ExecuteScalar(insertMessageDetailCommand, transaction));
除了現在我需要調用一個新的SP,與自己的參數。我是否需要以某種方式清除數據庫對象中的參數?
我看到這個工作的唯一方法是如果我創建另一個數據庫對象,但肯定這不會與相同的事務兼容?
請幫